home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 15 / Amiga Plus Leser CD 15.iso / Tools / Development / PowerD_mui / modules / libraries / mui.m < prev   
Encoding:
Text File  |  2002-03-13  |  111.9 KB  |  2,560 lines

  1. /***************************************************************************
  2. **
  3. ** MUI - MagicUserInterface
  4. ** (c) 1993-1997 Stefan Stuntz
  5. **
  6. ** Main Header File
  7. **
  8. ****************************************************************************
  9. ** Class Tree
  10. ****************************************************************************
  11. **
  12. ** rootclass                    (BOOPSI's base class)
  13. ** +--Notify                   (implements notification mechanism)
  14. ** !  +--Family                (handles multiple children)
  15. ** !  !  +--Menustrip          (describes a complete menu strip)
  16. ** !  !  +--Menu               (describes a single menu)
  17. ** !  !  \--Menuitem           (describes a single menu item)
  18. ** !  +--Application           (main class for all applications)
  19. ** !  +--Window                (main class for all windows)
  20. ** !  !  \--Aboutmui           (About window of MUI preferences)
  21. ** !  +--Area                  (base class for all GUI elements)
  22. ** !     +--Rectangle          (spacing object)
  23. ** !     +--Balance            (balancing separator bar)
  24. ** !     +--Image              (image display)
  25. ** !     +--Bitmap             (draws bitmaps)
  26. ** !     !  \--Bodychunk       (makes bitmap from ILBM body chunk)
  27. ** !     +--Text               (text display)
  28. ** !     +--Gadget             (base class for intuition gadgets)
  29. ** !     !  +--String          (string gadget)
  30. ** !     !  +--Boopsi          (interface to BOOPSI gadgets)
  31. ** !     !  \--Prop            (proportional gadget)
  32. ** !     +--Gauge              (fule gauge)
  33. ** !     +--Scale              (percentage scale)
  34. ** !     +--Colorfield         (field with changeable color)
  35. ** !     +--List               (line-oriented list)
  36. ** !     !  +--Floattext       (special list with floating text)
  37. ** !     !  +--Volumelist      (special list with volumes)
  38. ** !     !  +--Scrmodelist     (special list with screen modes)
  39. ** !     !  \--Dirlist         (special list with files)
  40. ** !     +--Numeric            (base class for slider gadgets)
  41. ** !     !  +--Knob            (turning knob)
  42. ** !     !  +--Levelmeter      (level display)
  43. ** !     !  +--Numericbutton   (space saving popup slider)
  44. ** !     !  \--Slider          (traditional slider)
  45. ** !     +--Framedisplay       (private)
  46. ** !     !  \--Popframe        (private)
  47. ** !     +--Imagedisplay       (private)
  48. ** !     !  \--Popimage        (private)
  49. ** !     +--Pendisplay         (displays a pen specification)
  50. ** !     !  \--Poppen          (popup button to adjust a pen spec)
  51. ** !     +--Group              (groups other GUI elements)
  52. ** !        +--Mccprefs        (private)
  53. ** !        +--Register        (handles page groups with titles)
  54. ** !        !  \--Penadjust    (group to adjust a pen)
  55. ** !        +--Settingsgroup   (private)
  56. ** !        +--Settings        (private)
  57. ** !        +--Frameadjust     (private)
  58. ** !        +--Imageadjust     (private)
  59. ** !        +--Virtgroup       (handles virtual groups)
  60. ** !        +--Scrollgroup     (virtual groups with scrollbars)
  61. ** !        +--Scrollbar       (traditional scrollbar)
  62. ** !        +--Listview        (listview)
  63. ** !        +--Radio           (radio button)
  64. ** !        +--Cycle           (cycle gadget)
  65. ** !        +--Coloradjust     (several gadgets to adjust a color)
  66. ** !        +--Palette         (complete palette gadget)
  67. ** !        +--Popstring       (base class for popup objects)
  68. ** !           +--Popobject    (popup aynthing in a separate window)
  69. ** !           !  +--Poplist   (popup a simple listview)
  70. ** !           !  \--Popscreen (popup a list of public screens)
  71. ** !           \--Popasl       (popup an asl requester)
  72. ** +--Semaphore                (semaphore equipped objects)
  73. **    +--Applist               (private)
  74. **    +--Dataspace             (handles general purpose data spaces)
  75. **       \--Configdata         (private)
  76. **
  77. ****************************************************************************
  78. ** General Header File Information
  79. ****************************************************************************
  80. **
  81. ** All macro and structure definitions follow these rules:
  82. **
  83. ** Name                       Meaning
  84. **
  85. ** MUIC_<class>               Name of a class
  86. ** MUIM_<class>_<method>      Method
  87. ** MUIP_<class>_<method>      Methods parameter structure
  88. ** MUIV_<class>_<method>_<x>  Special method value
  89. ** MUIA_<class>_<attrib>      Attribute
  90. ** MUIV_<class>_<attrib>_<x>  Special attribute value
  91. ** MUIE_<error>               Error return code from MUI_Error()
  92. ** MUII_<name>                Standard MUI image
  93. ** MUIX_<code>                Control codes for text strings
  94. ** MUIO_<name>                Object type for MUI_MakeObject()
  95. **
  96. ** MUIA_... attribute definitions are followed by a comment
  97. ** consisting of the three possible letters I, S and G.
  98. ** I: it's possible to specify this attribute at object creation time.
  99. ** S: it's possible to change this attribute with SetAttrs().
  100. ** G: it's possible to get this attribute with GetAttr().
  101. **
  102. ** Items marked with "Custom Class" are for use in custom classes only!
  103. */
  104. MODULE    'dos/dos'
  105. MODULE    'intuition/classes'
  106. MODULE    'intuition/screens'
  107. MODULE    'libraries/iffparse'
  108.  
  109. #define MUI_TRUE 1
  110.  
  111. /***************************************************************************
  112. ** Library specification
  113. ***************************************************************************/
  114. #define MUIMASTER_NAME     'muimaster.library'
  115. CONST    MUIMASTER_VMIN=11,
  116.         MUIMASTER_VLATEST=19
  117. /* comment this if you dont want to include obsolete identifiers */
  118. #define MUI_OBSOLETE 
  119. /*************************************************************************
  120. ** Config items for MUIM_GetConfigItem
  121. *************************************************************************/
  122. CONST    MUICFG_PublicScreen=36/*************************************************************************
  123. ** Black box specification structures for images, pens, frames
  124. *************************************************************************/
  125. OBJECT MUI_PenSpec
  126.     buf[32]:UBYTE
  127.  
  128. /*************************************************************************
  129. ** Public Screen Stuff
  130. *************************************************************************/
  131. /*
  132. ** NOTE: This stuff is only included to allow compilation of the supplied
  133. **       public screen manager for educational purposes. Everything
  134. **       here is subject to change without notice and I guarantee to
  135. **       do that just for fun!
  136. **       More info can be found in the screen manager source file.
  137. */
  138. #define PSD_INITIAL_NAME    '(unnamed)'
  139. #define PSD_INITIAL_TITLE   'MUI Public Screen'
  140. #define PSD_ID_MPUB         MAKE_ID("M","P","U","B")
  141. #define PSD_NAME_FRONTMOST  '«Frontmost»'
  142. #define PSD_FILENAME_SAVE  'envarc:mui/PublicScreens.iff'
  143. #define PSD_FILENAME_USE   'env:mui/PublicScreens.iff'
  144. CONST    PSD_MAXLEN_NAME=32,
  145.         PSD_MAXLEN_TITLE=128,
  146.         PSD_MAXLEN_FONT=48,
  147.         PSD_MAXLEN_BACKGROUND=256,
  148.         PSD_NUMCOLS=8,
  149.         PSD_MAXSYSPENS=20,
  150.         PSD_NUMSYSPENS=12,
  151.         PSD_MAXMUIPENS=10
  152.  
  153. OBJECT MUI_RGBcolor
  154.     red:ULONG,
  155.     green:ULONG,
  156.     blue:ULONG
  157.  
  158. OBJECT MUI_PubScreenDesc
  159.     Version:LONG,
  160.     Name[PSD_MAXLEN_NAME]:UBYTE,
  161.     Title[PSD_MAXLEN_TITLE]:UBYTE,
  162.     Font[PSD_MAXLEN_FONT]:UBYTE,
  163.     Background[PSD_MAXLEN_BACKGROUND]:UBYTE,
  164.     DisplayID:ULONG,
  165.     DisplayWidth:UWORD,
  166.     DisplayHeight:UWORD,
  167.     DisplayDepth:UBYTE,
  168.     OverscanType:UBYTE,
  169.     AutoScroll:UBYTE,
  170.     NoDrag:UBYTE,
  171.     Exclusive:UBYTE,
  172.     Interleaved:UBYTE,
  173.     SysDefault:UBYTE,
  174.     Behind:UBYTE,
  175.     AutoClose:UBYTE,
  176.     CloseGadget:UBYTE,
  177.     DummyWasForeign:UBYTE,
  178.     SystemPens[PSD_MAXSYSPENS]:BYTE,
  179.     Reserved[1+7*4-PSD_MAXSYSPENS]:UBYTE,
  180.     Palette[PSD_NUMCOLS]:MUI_RGBcolor,
  181.     rsvd[PSD_MAXSYSPENS-PSD_NUMCOLS]:MUI_RGBcolor,
  182.     rsvd2[PSD_MAXMUIPENS]:MUI_PenSpec,
  183.     Changed:LONG,
  184.     UserData:PTR
  185.  
  186. OBJECT MUIS_InfoClient
  187.     node:MinNode,
  188.     task:PTR TO Task,
  189.     sigbit:ULONG
  190.  
  191. /***************************************************************************
  192. ** Object Types for MUI_MakeObject()
  193. ***************************************************************************/
  194. CONST    MUIO_Label          = 1,      /* STRPTR label, ULONG flags */
  195.         MUIO_Button         = 2,      /* STRPTR label */
  196.         MUIO_Checkmark      = 3,      /* STRPTR label */
  197.         MUIO_Cycle          = 4,      /* STRPTR label, STRPTR *entries */
  198.         MUIO_Radio          = 5,      /* STRPTR label, STRPTR *entries */
  199.         MUIO_Slider         = 6,      /* STRPTR label, LONG min, LONG max */
  200.         MUIO_String         = 7,      /* STRPTR label, LONG maxlen */
  201.         MUIO_PopButton      = 8,      /* STRPTR imagespec */
  202.         MUIO_HSpace         = 9,      /* LONG space   */
  203.         MUIO_VSpace         =10,      /* LONG space   */
  204.         MUIO_HBar           =11,      /* LONG space   */
  205.         MUIO_VBar           =12,      /* LONG space   */
  206.         MUIO_MenustripNM    =13,      /* struct NewMenu *nm, ULONG flags */
  207.         MUIO_Menuitem       =14,      /* STRPTR label, STRPTR shortcut, ULONG flags, ULONG data  */
  208.         MUIO_BarTitle       =15,      /* STRPTR label */
  209.         MUIO_NumericButton  =16,      /* STRPTR label, LONG min, LONG max, STRPTR format */
  210.         MUIO_Menuitem_CopyStrings =1<<30,
  211.         MUIO_Label_SingleFrame    =1<< 8,
  212.         MUIO_Label_DoubleFrame    =1<< 9,
  213.         MUIO_Label_LeftAligned    =1<<10,
  214.         MUIO_Label_Centered       =1<<11,
  215.         MUIO_Label_FreeVert       =1<<12,
  216.         MUIO_MenustripNM_CommandKeyCheck  =1<<0    /* check for "localized" menu items such as "O\0Open" */
  217. /***************************************************************************
  218. ** ARexx Interface
  219. ***************************************************************************/
  220. OBJECT MUI_Command
  221.     Name:PTR TO UBYTE,
  222.     Template:PTR TO UBYTE,
  223.     Parameters:LONG,
  224.     Hook:PTR TO Hook,
  225.     Reserved[5]:LONG
  226.  
  227. CONST    MC_TEMPLATE_ID=~0
  228. CONST    MUI_RXERR_BADDEFINITION=-1,
  229.         MUI_RXERR_OUTOFMEMORY=-2,
  230.         MUI_RXERR_UNKNOWNCOMMAND=-3,
  231.         MUI_RXERR_BADSYNTAX=-4
  232. CONST    MUIE_OK=0,
  233.         MUIE_OutOfMemory=1,
  234.         MUIE_OutOfGfxMemory=2,
  235.         MUIE_InvalidWindowObject=3,
  236.         MUIE_MissingLibrary=4,
  237.         MUIE_NoARexx=5,
  238.         MUIE_SingleTask=6
  239. CONST    MUII_WindowBack=0,          /* These images are configured   */
  240.         MUII_RequesterBack=1,      /* with the preferences program. */
  241.         MUII_ButtonBack=2,
  242.         MUII_ListBack=3,
  243.         MUII_TextBack=4,
  244.         MUII_PropBack=5,
  245.         MUII_PopupBack=6,
  246.         MUII_SelectedBack=7,
  247.         MUII_ListCursor=8,
  248.         MUII_ListSelect=9,
  249.         MUII_ListSelCur=10,
  250.         MUII_ArrowUp=11,
  251.         MUII_ArrowDown=12,
  252.         MUII_ArrowLeft=13,
  253.         MUII_ArrowRight=14,
  254.         MUII_CheckMark=15,
  255.         MUII_RadioButton=16,
  256.         MUII_Cycle=17,
  257.         MUII_PopUp=18,
  258.         MUII_PopFile=19,
  259.         MUII_PopDrawer=20,
  260.         MUII_PropKnob=21,
  261.         MUII_Drawer=22,
  262.         MUII_HardDisk=23,
  263.         MUII_Disk=24,
  264.         MUII_Chip=25,
  265.         MUII_Volume=26,
  266.         MUII_RegisterBack=27,
  267.         MUII_Network=28,
  268.         MUII_Assign=29,
  269.         MUII_TapePlay=30,
  270.         MUII_TapePlayBack=31,
  271.         MUII_TapePause=32,
  272.         MUII_TapeStop=33,
  273.         MUII_TapeRecord=34,
  274.         MUII_GroupBack=35,
  275.         MUII_SliderBack=36,
  276.         MUII_SliderKnob=37,
  277.         MUII_TapeUp=38,
  278.         MUII_TapeDown=39,
  279.         MUII_PageBack=40,
  280.         MUII_ReadListBack=41,
  281.         MUII_Count=42,
  282.         MUII_BACKGROUND=128,
  283.         MUII_SHADOW=129,            /* combinations and are not  */
  284.         MUII_SHINE=130,             /* affected by users prefs.  */
  285.         MUII_FILL=131,
  286.         MUII_SHADOWBACK=132,       /* Generally, you should     */
  287.         MUII_SHADOWFILL=133,       /* avoid using them. Better  */
  288.         MUII_SHADOWSHINE=134,      /* use one of the customized */
  289.         MUII_FILLBACK=135,       /* images above.             */
  290.         MUII_FILLSHINE=136,
  291.         MUII_SHINEBACK=137,
  292.         MUII_FILLBACK2=138,
  293.         MUII_HSHINEBACK=139,
  294.         MUII_HSHADOWBACK=140,
  295.         MUII_HSHINESHINE=141,
  296.         MUII_HSHADOWSHADOW=142,
  297.         MUII_MARKSHINE=143,
  298.         MUII_MARKHALFSHINE=144,
  299.         MUII_MARKBACKGROUND=145,
  300.         MUII_LASTPAT=145
  301. CONST    MUIV_TriggerValue=1233727793,
  302.         MUIV_NotTriggerValue=1233727795,
  303.         MUIV_EveryTime=1233727793,
  304.         MUIV_Notify_Self=1,
  305.         MUIV_Notify_Window=2,
  306.         MUIV_Notify_Application=3,
  307.         MUIV_Notify_Parent=4,
  308.         MUIV_Application_Save_ENVARC=~0,
  309.         MUIV_Application_Load_ENV=0,
  310.         MUIV_Application_Load_ENVARC=~0,
  311.         MUIV_Application_ReturnID_Quit=-1,
  312.         MUIV_List_Insert_Top=0,
  313.         MUIV_List_Insert_Active=-1,
  314.         MUIV_List_Insert_Sorted=-2,
  315.         MUIV_List_Insert_Bottom=-3,
  316.         MUIV_List_Remove_First=0,
  317.         MUIV_List_Remove_Active=-1,
  318.         MUIV_List_Remove_Last=-2,
  319.         MUIV_List_Remove_Selected=-3,
  320.         MUIV_List_Select_Off=0,
  321.         MUIV_List_Select_On=1,
  322.         MUIV_List_Select_Toggle=2,
  323.         MUIV_List_Select_Ask=3,
  324.         MUIV_List_GetEntry_Active=-1,
  325.         MUIV_List_Select_Active=-1,
  326.         MUIV_List_Select_All=-2,
  327.         MUIV_List_Redraw_Active=-1,
  328.         MUIV_List_Redraw_All=-2,
  329.         MUIV_List_Move_Top=0,
  330.         MUIV_List_Move_Active=-1,
  331.         MUIV_List_Move_Bottom=-2,
  332.         MUIV_List_Move_Next=-3,
  333.         MUIV_List_Move_Previous=-4,
  334.         MUIV_List_Exchange_Top=0,
  335.         MUIV_List_Exchange_Active=-1,
  336.         MUIV_List_Exchange_Bottom=-2,
  337.         MUIV_List_Exchange_Next=-3,
  338.         MUIV_List_Exchange_Previous=-4,
  339.         MUIV_List_Jump_Top=0,
  340.         MUIV_List_Jump_Active=-1,
  341.         MUIV_List_Jump_Bottom=-2,
  342.         MUIV_List_Jump_Up=-4,
  343.         MUIV_List_Jump_Down=-3,
  344.         MUIV_List_NextSelected_Start=-1,
  345.         MUIV_List_NextSelected_End=-1,
  346.         MUIV_DragQuery_Refuse=0,
  347.         MUIV_DragQuery_Accept=1,
  348.         MUIV_DragReport_Abort=0,
  349.         MUIV_DragReport_Continue=1,
  350.         MUIV_DragReport_Lock=2,
  351.         MUIV_DragReport_Refresh=3
  352. #define MUIX_R  '\033r'       /* right justified */
  353. #define MUIX_C  '\033c'       /* centered        */
  354. #define MUIX_L  '\033l'       /* left justified  */
  355. #define MUIX_N  '\033n'       /* normal     */
  356. #define MUIX_B  '\033b'       /* bold       */
  357. #define MUIX_I  '\033i'       /* italic     */
  358. #define MUIX_U  '\033u'       /* underlined */
  359. #define MUIX_PT  '\0332'      /* text pen           */
  360. #define MUIX_PH  '\0338'      /* highlight text pen */
  361. /***************************************************************************
  362. ** Parameter structures for some classes
  363. ***************************************************************************/
  364. OBJECT MUI_Palette_Entry
  365.     ID:LONG,
  366.     Red:ULONG,
  367.     Green:ULONG,
  368.     Blue:ULONG,
  369.     Group:LONG
  370.  
  371. CONST    MUIV_Palette_Entry_End=-1/*****************************/
  372. /* Application Input Handler */
  373. /*****************************/
  374. OBJECT MUI_InputHandlerNode
  375.     Node:MinNode,
  376.     Object:PTR TO _Object,
  377.     Signals:ULONG,
  378. RELOFS -4,
  379.     Millis:UWORD,
  380.     Current:UWORD,
  381.     Flags:ULONG,        /* see below */
  382.     Method:ULONG
  383.  
  384. /* Flags for ihn_Flags */
  385. CONST    MUIIHNF_TIMER=1<<0    /* set ihn_Ticks to number of 1/100 sec ticks you want to be triggered */
  386. /************************/
  387. /* Window Event Handler */
  388. /************************/
  389. OBJECT MUI_EventHandlerNode
  390.     Node:MinNode,
  391.     Reserved:BYTE,           /* don't touch! */
  392.     Priority:BYTE,           /* event handlers are inserted according to their priority. */
  393.     Flags:UWORD,             /* certain flags, see below for definitions. */
  394.     Object:PTR TO _Object,    /* object which should receive MUIM_HandleEvent. */
  395.     Class:PTR TO IClass,     /* if !=NULL, MUIM_HandleEvent is invoked on exactly this class with CoerceMethod(). */
  396.     Events:ULONG             /* one or more IDCMP flags this handler should react on. */
  397.  
  398. /* flags for ehn_Flags */
  399. CONST    MUI_EHF_ALWAYSKEYS=1<<0
  400. /* other values reserved for future use */
  401. /* return values for MUIM_HandleEvent (bit-masked, all other bits must be 0) */
  402. CONST    MUI_EventHandlerRC_Eat=1<<0    /* stop MUI from calling other handlers */
  403. /**********************/
  404. /* List Position Test */
  405. /**********************/
  406. OBJECT MUI_List_TestPos_Result
  407.     entry:LONG,      /* number of entry, -1 if mouse not over valid entry */
  408.     column:WORD,     /* numer of column, -1 if no valid column */
  409.     flags:UWORD,     /* see below */
  410.     xoffset:WORD,    /* x offset of mouse click relative to column start */
  411.     yoffset:WORD     /* y offset of mouse click from center of line
  412.                       (negative values mean click was above center,
  413.                        positive values mean click was below center) */
  414.  
  415. CONST    MUI_LPR_ABOVE=1<<0,
  416.         MUI_LPR_BELOW=1<<1,
  417.         MUI_LPR_LEFT =1<<2,
  418.         MUI_LPR_RIGHT=1<<3
  419. /***************************************************************************
  420. **
  421. ** Macro Section
  422. ** -------------
  423. **
  424. ** To make GUI creation more easy and understandable, you can use the
  425. ** macros below. If you dont want, just define MUI_NOSHORTCUTS to disable
  426. ** them.
  427. **
  428. ** These macros are available to C programmers only.
  429. **
  430. ***************************************************************************/
  431. #ifndef MUI_NOSHORTCUTS
  432. /***************************************************************************
  433. **
  434. ** Object Generation
  435. ** -----------------
  436. **
  437. ** The xxxObject (and xChilds) macros generate new instances of MUI classes.
  438. ** Every xxxObject can be followed by tagitems specifying initial create
  439. ** time attributes for the new object and must be terminated with the
  440. ** End macro:
  441. **
  442. ** obj = StringObject,
  443. **          MUIA_String_Contents, "foo",
  444. **          MUIA_String_MaxLen  , 40,
  445. **          End;
  446. **
  447. ** With the Child, SubWindow and WindowContents shortcuts you can
  448. ** construct a complete GUI within one command:
  449. **
  450. ** app = ApplicationObject,
  451. **
  452. **          ...
  453. **
  454. **          SubWindow, WindowObject,
  455. **             WindowContents, VGroup,
  456. **                Child, String("foo",40),
  457. **                Child, String("bar",50),
  458. **                Child, HGroup,
  459. **                   Child, CheckMark(TRUE),
  460. **                   Child, CheckMark(FALSE),
  461. **                   End,
  462. **                End,
  463. **             End,
  464. **
  465. **          SubWindow, WindowObject,
  466. **             WindowContents, HGroup,
  467. **                Child, ...,
  468. **                Child, ...,
  469. **                End,
  470. **             End,
  471. **
  472. **          ...
  473. **
  474. **          End;
  475. **
  476. ***************************************************************************/
  477. #define MenustripObject      MUI_NewObject(MUIC_Menustrip
  478. #define MenuObject           MUI_NewObject(MUIC_Menu
  479. #define MenuObjectT(name )   MUI_NewObject(MUIC_Menu,MUIA_Menu_Title,name
  480. #define MenuitemObject       MUI_NewObject(MUIC_Menuitem
  481. #define WindowObject         MUI_NewObject(MUIC_Window
  482. #define ImageObject          MUI_NewObject(MUIC_Image
  483. #define BitmapObject         MUI_NewObject(MUIC_Bitmap
  484. #define BodychunkObject      MUI_NewObject(MUIC_Bodychunk
  485. #define NotifyObject         MUI_NewObject(MUIC_Notify
  486. #define ApplicationObject    MUI_NewObject(MUIC_Application
  487. #define TextObject           MUI_NewObject(MUIC_Text
  488. #define RectangleObject      MUI_NewObject(MUIC_Rectangle
  489. #define BalanceObject        MUI_NewObject(MUIC_Balance
  490. #define ListObject           MUI_NewObject(MUIC_List
  491. #define PropObject           MUI_NewObject(MUIC_Prop
  492. #define StringObject         MUI_NewObject(MUIC_String
  493. #define ScrollbarObject      MUI_NewObject(MUIC_Scrollbar
  494. #define ListviewObject       MUI_NewObject(MUIC_Listview
  495. #define RadioObject          MUI_NewObject(MUIC_Radio
  496. #define VolumelistObject     MUI_NewObject(MUIC_Volumelist
  497. #define FloattextObject      MUI_NewObject(MUIC_Floattext
  498. #define DirlistObject        MUI_NewObject(MUIC_Dirlist
  499. #define CycleObject          MUI_NewObject(MUIC_Cycle
  500. #define GaugeObject          MUI_NewObject(MUIC_Gauge
  501. #define ScaleObject          MUI_NewObject(MUIC_Scale
  502. #define NumericObject        MUI_NewObject(MUIC_Numeric
  503. #define SliderObject         MUI_NewObject(MUIC_Slider
  504. #define NumericbuttonObject  MUI_NewObject(MUIC_Numericbutton
  505. #define KnobObject           MUI_NewObject(MUIC_Knob
  506. #define LevelmeterObject     MUI_NewObject(MUIC_Levelmeter
  507. #define BoopsiObject         MUI_NewObject(MUIC_Boopsi
  508. #define ColorfieldObject     MUI_NewObject(MUIC_Colorfield
  509. #define PenadjustObject      MUI_NewObject(MUIC_Penadjust
  510. #define ColoradjustObject    MUI_NewObject(MUIC_Coloradjust
  511. #define PaletteObject        MUI_NewObject(MUIC_Palette
  512. #define GroupObject          MUI_NewObject(MUIC_Group
  513. #define RegisterObject       MUI_NewObject(MUIC_Register
  514. #define VirtgroupObject      MUI_NewObject(MUIC_Virtgroup
  515. #define ScrollgroupObject    MUI_NewObject(MUIC_Scrollgroup
  516. #define PopstringObject      MUI_NewObject(MUIC_Popstring
  517. #define PopobjectObject      MUI_NewObject(MUIC_Popobject
  518. #define PoplistObject        MUI_NewObject(MUIC_Poplist
  519. #define PopaslObject         MUI_NewObject(MUIC_Popasl
  520. #define PendisplayObject     MUI_NewObject(MUIC_Pendisplay
  521. #define PoppenObject         MUI_NewObject(MUIC_Poppen
  522. #define AboutmuiObject       MUI_NewObject(MUIC_Aboutmui
  523. #define ScrmodelistObject    MUI_NewObject(MUIC_Scrmodelist
  524. #define KeyentryObject       MUI_NewObject(MUIC_Keyentry
  525. #define VGroup               MUI_NewObject(MUIC_Group
  526. #define HGroup               MUI_NewObject(MUIC_Group,MUIA_Group_Horiz,TRUE
  527. #define ColGroup(cols )      MUI_NewObject(MUIC_Group,MUIA_Group_Columns,(cols)
  528. #define RowGroup(rows )      MUI_NewObject(MUIC_Group,MUIA_Group_Rows   ,(rows)
  529. #define PageGroup            MUI_NewObject(MUIC_Group,MUIA_Group_PageMode,TRUE
  530. #define VGroupV              MUI_NewObject(MUIC_Virtgroup
  531. #define HGroupV              MUI_NewObject(MUIC_Virtgroup,MUIA_Group_Horiz,TRUE
  532. #define ColGroupV(cols )     MUI_NewObject(MUIC_Virtgroup,MUIA_Group_Columns,(cols)
  533. #define RowGroupV(rows )     MUI_NewObject(MUIC_Virtgroup,MUIA_Group_Rows   ,(rows)
  534. #define PageGroupV           MUI_NewObject(MUIC_Virtgroup,MUIA_Group_PageMode,TRUE
  535. #define RegisterGroup(t )    MUI_NewObject(MUIC_Register,MUIA_Register_Titles,(t)
  536. #define End                  TAG_DONE)
  537. #define Child              MUIA_Group_Child
  538. #define SubWindow          MUIA_Application_Window
  539. #define WindowContents     MUIA_Window_RootObject
  540. /***************************************************************************
  541. **
  542. ** Frame Types
  543. ** -----------
  544. **
  545. ** These macros may be used to specify one of MUI's different frame types.
  546. ** Note that every macro consists of one { ti_Tag, ti_Data } pair.
  547. **
  548. ** GroupFrameT() is a special kind of frame that contains a centered
  549. ** title text.
  550. **
  551. ** HGroup, GroupFrameT("Horiz Groups"),
  552. **    Child, RectangleObject, TextFrame  , End,
  553. **    Child, RectangleObject, StringFrame, End,
  554. **    Child, RectangleObject, ButtonFrame, End,
  555. **    Child, RectangleObject, ListFrame  , End,
  556. **    End,
  557. **
  558. ***************************************************************************/
  559. #define NoFrame           MUIA_Frame, MUIV_Frame_None
  560. #define ButtonFrame       MUIA_Frame, MUIV_Frame_Button
  561. #define ImageButtonFrame  MUIA_Frame, MUIV_Frame_ImageButton
  562. #define TextFrame         MUIA_Frame, MUIV_Frame_Text
  563. #define StringFrame       MUIA_Frame, MUIV_Frame_String
  564. #define ReadListFrame     MUIA_Frame, MUIV_Frame_ReadList
  565. #define InputListFrame    MUIA_Frame, MUIV_Frame_InputList
  566. #define PropFrame         MUIA_Frame, MUIV_Frame_Prop
  567. #define SliderFrame       MUIA_Frame, MUIV_Frame_Slider
  568. #define GaugeFrame        MUIA_Frame, MUIV_Frame_Gauge
  569. #define VirtualFrame      MUIA_Frame, MUIV_Frame_Virtual
  570. #define GroupFrame        MUIA_Frame, MUIV_Frame_Group
  571. #define GroupFrameT(s )   MUIA_Frame, MUIV_Frame_Group, MUIA_FrameTitle, s, MUIA_Background, MUII_GroupBack
  572. /***************************************************************************
  573. **
  574. ** Spacing Macros
  575. ** --------------
  576. **
  577. ***************************************************************************/
  578. #define HVSpace            MUI_NewObject(MUIC_Rectangle,TAG_DONE)
  579. #define HSpace(x )         MUI_MakeObject(MUIO_HSpace,x)
  580. #define VSpace(x )         MUI_MakeObject(MUIO_VSpace,x)
  581. #define HCenter(obj )      (HGroup, GroupSpacing(0), Child, HSpace(0), Child, (obj), Child, HSpace(0), End)
  582. #define VCenter(obj )      (VGroup, GroupSpacing(0), Child, VSpace(0), Child, (obj), Child, VSpace(0), End)
  583. #define InnerSpacing(h,v ) MUIA_InnerLeft,(h),MUIA_InnerRight,(h),MUIA_InnerTop,(v),MUIA_InnerBottom,(v)
  584. #define GroupSpacing(x )   MUIA_Group_Spacing,x
  585. #ifdef MUI_OBSOLETE
  586. #define String(contents,maxlen )\
  587.  StringObject,\
  588.  StringFrame,\
  589.  MUIA_String_MaxLen  , maxlen,\
  590.  MUIA_String_Contents, contents,\
  591.  End
  592. #define KeyString(contents,maxlen,controlchar )\
  593.  StringObject,\
  594.  StringFrame,\
  595.  MUIA_ControlChar    , controlchar,\
  596.  MUIA_String_MaxLen  , maxlen,\
  597.  MUIA_String_Contents, contents,\
  598.  End
  599. #endif
  600. #ifdef MUI_OBSOLETE
  601. #define CheckMark(selected )\
  602.  ImageObject,\
  603.  ImageButtonFrame,\
  604.  MUIA_InputMode        , MUIV_InputMode_Toggle,\
  605.  MUIA_Image_Spec       , MUII_CheckMark,\
  606.  MUIA_Image_FreeVert   , TRUE,\
  607.  MUIA_Selected         , selected,\
  608.  MUIA_Background       , MUII_ButtonBack,\
  609.  MUIA_ShowSelState     , FALSE,\
  610.  End
  611. #define KeyCheckMark(selected,control )\
  612.  ImageObject,\
  613.  ImageButtonFrame,\
  614.  MUIA_InputMode        , MUIV_InputMode_Toggle,\
  615.  MUIA_Image_Spec       , MUII_CheckMark,\
  616.  MUIA_Image_FreeVert   , TRUE,\
  617.  MUIA_Selected         , selected,\
  618.  MUIA_Background       , MUII_ButtonBack,\
  619.  MUIA_ShowSelState     , FALSE,\
  620.  MUIA_ControlChar      , control,\
  621.  End
  622. #endif
  623. /***************************************************************************
  624. **
  625. ** Button-Objects
  626. ** --------------
  627. **
  628. ** Note: Use small letters for KeyButtons, e.g.
  629. **       KeyButton("Cancel",'c')  and not  KeyButton("Cancel",'C') !!
  630. **
  631. ***************************************************************************/
  632. #define SimpleButton(label ) MUI_MakeObject(MUIO_Button,label)
  633. #ifdef MUI_OBSOLETE
  634. #define KeyButton(name,key )\
  635.  TextObject,\
  636.  ButtonFrame,\
  637.  MUIA_Font, MUIV_Font_Button,\
  638.  MUIA_Text_Contents, name,\
  639.  MUIA_Text_PreParse, '\33c',\
  640.  MUIA_Text_HiChar  , key,\
  641.  MUIA_ControlChar  , key,\
  642.  MUIA_InputMode    , MUIV_InputMode_RelVerify,\
  643.  MUIA_Background   , MUII_ButtonBack,\
  644.  End
  645. #endif
  646. #ifdef MUI_OBSOLETE
  647. #define Cycle(entries )        CycleObject, MUIA_Font, MUIV_Font_Button, MUIA_Cycle_Entries, entries, End
  648. #define KeyCycle(entries,key ) CycleObject, MUIA_Font, MUIV_Font_Button, MUIA_Cycle_Entries, entries, MUIA_ControlChar, key, End
  649. /***************************************************************************
  650. **
  651. ** Radio-Object
  652. ** ------------
  653. **
  654. ***************************************************************************/
  655. #define Radio(name,array )\
  656.  RadioObject,\
  657.  GroupFrameT(name),\
  658.  MUIA_Radio_Entries,array,\
  659.  End
  660. #define KeyRadio(name,array,key )\
  661.  RadioObject,\
  662.  GroupFrameT(name),\
  663.  MUIA_Radio_Entries,array,\
  664.  MUIA_ControlChar, key,\
  665.  End
  666. /***************************************************************************
  667. **
  668. ** Slider-Object
  669. ** -------------
  670. **
  671. ***************************************************************************/
  672. #define Slider(min,max,level )\
  673.  SliderObject,\
  674.  MUIA_Numeric_Min  , min,\
  675.  MUIA_Numeric_Max  , max,\
  676.  MUIA_Numeric_Value, level,\
  677.  End
  678. #define KeySlider(min,max,level,key )\
  679.  SliderObject,\
  680.  MUIA_Numeric_Min  , min,\
  681.  MUIA_Numeric_Max  , max,\
  682.  MUIA_Numeric_Value, level,\
  683.  MUIA_ControlChar , key,\
  684.  End
  685. #endif
  686. /***************************************************************************
  687. **
  688. ** Button to be used for popup objects
  689. **
  690. ***************************************************************************/
  691. #define PopButton(img ) MUI_MakeObject(MUIO_PopButton,img)
  692. /***************************************************************************
  693. **
  694. ** Labeling Objects
  695. ** ----------------
  696. **
  697. ** Labeling objects, e.g. a group of string gadgets,
  698. **
  699. **   Small: |foo   |
  700. **  Normal: |bar   |
  701. **     Big: |foobar|
  702. **    Huge: |barfoo|
  703. **
  704. ** is done using a 2 column group:
  705. **
  706. ** ColGroup(2),
  707. **     Child, Label2("Small:" ),
  708. **    Child, StringObject, End,
  709. **     Child, Label2("Normal:"),
  710. **    Child, StringObject, End,
  711. **     Child, Label2("Big:"   ),
  712. **    Child, StringObject, End,
  713. **     Child, Label2("Huge:"  ),
  714. **    Child, StringObject, End,
  715. **    End,
  716. **
  717. ** Note that we have three versions of the label macro, depending on
  718. ** the frame type of the right hand object:
  719. **
  720. ** Label1(): For use with standard frames (e.g. checkmarks).
  721. ** Label2(): For use with double high frames (e.g. string gadgets).
  722. ** Label() : For use with objects without a frame.
  723. **
  724. ** These macros ensure that your label will look fine even if the
  725. ** user of your application configured some strange spacing values.
  726. ** If you want to use your own labeling, you'll have to pay attention
  727. ** on this topic yourself.
  728. **
  729. ***************************************************************************/
  730. #define Label(label )   MUI_MakeObject(MUIO_Label,label,0)
  731. #define Label1(label )  MUI_MakeObject(MUIO_Label,label,MUIO_Label_SingleFrame)
  732. #define Label2(label )  MUI_MakeObject(MUIO_Label,label,MUIO_Label_DoubleFrame)
  733. #define LLabel(label )  MUI_MakeObject(MUIO_Label,label,MUIO_Label_LeftAligned)
  734. #define LLabel1(label ) MUI_MakeObject(MUIO_Label,label,MUIO_Label_LeftAligned|MUIO_Label_SingleFrame)
  735. #define LLabel2(label ) MUI_MakeObject(MUIO_Label,label,MUIO_Label_LeftAligned|MUIO_Label_DoubleFrame)
  736. #define CLabel(label )  MUI_MakeObject(MUIO_Label,label,MUIO_Label_Centered)
  737. #define CLabel1(label ) MUI_MakeObject(MUIO_Label,label,MUIO_Label_Centered|MUIO_Label_SingleFrame)
  738. #define CLabel2(label ) MUI_MakeObject(MUIO_Label,label,MUIO_Label_Centered|MUIO_Label_DoubleFrame)
  739. #define FreeLabel(label )   MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert)
  740. #define FreeLabel1(label )  MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_SingleFrame)
  741. #define FreeLabel2(label )  MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_DoubleFrame)
  742. #define FreeLLabel(label )  MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_LeftAligned)
  743. #define FreeLLabel1(label ) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_LeftAligned|MUIO_Label_SingleFrame)
  744. #define FreeLLabel2(label ) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_LeftAligned|MUIO_Label_DoubleFrame)
  745. #define FreeCLabel(label )  MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_Centered)
  746. #define FreeCLabel1(label ) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_Centered|MUIO_Label_SingleFrame)
  747. #define FreeCLabel2(label ) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_Centered|MUIO_Label_DoubleFrame)
  748. #define KeyLabel(label,key )   MUI_MakeObject(MUIO_Label,label,key)
  749. #define KeyLabel1(label,key )  MUI_MakeObject(MUIO_Label,label,MUIO_Label_SingleFrame|(key))
  750. #define KeyLabel2(label,key )  MUI_MakeObject(MUIO_Label,label,MUIO_Label_DoubleFrame|(key))
  751. #define KeyLLabel(label,key )  MUI_MakeObject(MUIO_Label,label,MUIO_Label_LeftAligned|(key))
  752. #define KeyLLabel1(label,key ) MUI_MakeObject(MUIO_Label,label,MUIO_Label_LeftAligned|MUIO_Label_SingleFrame|(key))
  753. #define KeyLLabel2(label,key ) MUI_MakeObject(MUIO_Label,label,MUIO_Label_LeftAligned|MUIO_Label_DoubleFrame|(key))
  754. #define KeyCLabel(label,key )  MUI_MakeObject(MUIO_Label,label,MUIO_Label_Centered|(key))
  755. #define KeyCLabel1(label,key ) MUI_MakeObject(MUIO_Label,label,MUIO_Label_Centered|MUIO_Label_SingleFrame|(key))
  756. #define KeyCLabel2(label,key ) MUI_MakeObject(MUIO_Label,label,MUIO_Label_Centered|MUIO_Label_DoubleFrame|(key))
  757. #define FreeKeyLabel(label,key )   MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|(key))
  758. #define FreeKeyLabel1(label,key )  MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_SingleFrame|(key))
  759. #define FreeKeyLabel2(label,key )  MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_DoubleFrame|(key))
  760. #define FreeKeyLLabel(label,key )  MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_LeftAligned|(key))
  761. #define FreeKeyLLabel1(label,key ) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_LeftAligned|MUIO_Label_SingleFrame|(key))
  762. #define FreeKeyLLabel2(label,key ) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_LeftAligned|MUIO_Label_DoubleFrame|(key))
  763. #define FreeKeyCLabel(label,key )  MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_Centered|(key))
  764. #define FreeKeyCLabel1(label,key ) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_Centered|MUIO_Label_SingleFrame|(key))
  765. #define FreeKeyCLabel2(label,key ) MUI_MakeObject(MUIO_Label,label,MUIO_Label_FreeVert|MUIO_Label_Centered|MUIO_Label_DoubleFrame|(key))
  766. /***************************************************************************
  767. **
  768. ** Controlling Objects
  769. ** -------------------
  770. **
  771. ** set() and get() are two short stubs for BOOPSI GetAttr() and SetAttrs()
  772. ** calls:
  773. **
  774. ** {
  775. **    char *x;
  776. **
  777. **    set(obj,MUIA_String_Contents,"foobar");
  778. **    get(obj,MUIA_String_Contents,&x);
  779. **
  780. **    printf("gadget contains '%s'\n",x);
  781. ** }
  782. **
  783. ** nnset() sets an attribute without triggering a possible notification.
  784. **
  785. ***************************************************************************/
  786. #ifndef __cplusplus
  787. #define get(obj,attr,store ) GetAttr(attr,obj,store)
  788. #define set(obj,attr,value ) SetAttrs(obj,attr,value,TAG_DONE)
  789. #define nnset(obj,attr,value ) SetAttrs(obj,MUIA_NoNotify,TRUE,attr,value,TAG_DONE)
  790. #define setmutex(obj,n )     set(obj,MUIA_Radio_Active,n)
  791. #define setcycle(obj,n )     set(obj,MUIA_Cycle_Active,n)
  792. #define setstring(obj,s )    set(obj,MUIA_String_Contents,s)
  793. #define setcheckmark(obj,b ) set(obj,MUIA_Selected,b)
  794. #define setslider(obj,l )    set(obj,MUIA_Numeric_Value,l)
  795. #endif
  796. #endif
  797. /* MUI_NOSHORTCUTS */
  798. /***************************************************************************
  799. **
  800. ** For Boopsi Image Implementors Only:
  801. **
  802. ** If MUI is using a boopsi image object, it will send a special method
  803. ** immediately after object creation. This method has a parameter structure
  804. ** where the boopsi can fill in its minimum and maximum size and learn if
  805. ** its used in a horizontal or vertical context.
  806. **
  807. ** The boopsi image must use the method id (MUIM_BoopsiQuery) as return
  808. ** value. That's how MUI sees that the method is implemented.
  809. **
  810. ** Note: MUI does not depend on this method. If the boopsi image doesn't
  811. **       implement it, minimum size will be 0 and maximum size unlimited.
  812. **
  813. ***************************************************************************/
  814. CONST    MUIM_BoopsiQuery=$80427157     /* this is send to the boopsi and */
  815. /* must be used as return value   */
  816. OBJECT MUI_BoopsiQuery                             /* parameter structure */
  817.     MethodID:ULONG,                      /* always MUIM_BoopsiQuery */
  818.     Screen:PTR TO Screen,                /* obsolete, use mbq_RenderInfo */
  819.     Flags:ULONG,                         /* read only, see below */
  820.     MinWidth:LONG,                       /* write only, fill in min width  */
  821.     MinHeight:LONG,                      /* write only, fill in min height */
  822.     MaxWidth:LONG,                       /* write only, fill in max width  */
  823.     MaxHeight:LONG,                      /* write only, fill in max height */
  824.     DefWidth:LONG,                       /* write only, fill in def width  */
  825.     DefHeight:LONG,                      /* write only, fill in def height */
  826.     RenderInfo:PTR TO MUI_RenderInfo     /* read only, display context */
  827.  
  828. #define MUIP_BoopsiQuery  MUI_BoopsiQuery     /* old structure name */
  829. CONST    MBQF_HORIZ=1<<0              /* object used in a horizontal */
  830. /* context (else vertical)     */
  831. CONST    MBQ_MUI_MAXMAX=10000             /* use this for unlimited MaxWidth/Height */
  832. /*******************************************/
  833. /* Begin of automatic header file creation */
  834. /*******************************************/
  835. /****************************************************************************/
  836. /** Notify                                                                 **/
  837. /****************************************************************************/
  838. #define MUIC_Notify  'Notify.mui'
  839. /* Methods */
  840. CONST    MUIM_CallHook                        =$8042b96b,     /* V4  */
  841.         MUIM_Export                          =$80420f1c,     /* V12 */
  842.         MUIM_FindUData                       =$8042c196,     /* V8  */
  843.         MUIM_GetConfigItem                   =$80423edb,     /* V11 */
  844.         MUIM_GetUData                        =$8042ed0c,     /* V8  */
  845.         MUIM_Import                          =$8042d012,     /* V12 */
  846.         MUIM_KillNotify                      =$8042d240,     /* V4  */
  847.         MUIM_KillNotifyObj                   =$8042b145,     /* V16 */
  848.         MUIM_MultiSet                        =$8042d356,     /* V7  */
  849.         MUIM_NoNotifySet                     =$8042216f,     /* V9  */
  850.         MUIM_Notify                          =$8042c9cb,     /* V4  */
  851.         MUIM_Set                             =$8042549a,     /* V4  */
  852.         MUIM_SetAsString                     =$80422590,     /* V4  */
  853.         MUIM_SetUData                        =$8042c920,     /* V8  */
  854.         MUIM_SetUDataOnce                    =$8042ca19,     /* V11 */
  855.         MUIM_WriteLong                       =$80428d86,     /* V6  */
  856.         MUIM_WriteString                     =$80424bf4     /* V6  */
  857.  
  858. OBJECT MUIP_CallHook
  859.     MethodID:ULONG,
  860.     Hook:PTR TO Hook,
  861.     param1:ULONG         /* ... */
  862.  
  863. OBJECT MUIP_Export
  864.     MethodID:ULONG,
  865.     dataspace:PTR TO _Object
  866.  
  867. OBJECT MUIP_FindUData
  868.     MethodID:ULONG,
  869.     udata:ULONG
  870.  
  871. OBJECT MUIP_GetConfigItem
  872.     MethodID:ULONG,
  873.     id:ULONG,
  874.     storage:PTR TO ULONG
  875.  
  876. OBJECT MUIP_GetUData
  877.     MethodID:ULONG,
  878.     udata:ULONG,
  879.     attr:ULONG,
  880.     storage:PTR TO ULONG
  881.  
  882. OBJECT MUIP_Import
  883.     MethodID:ULONG,
  884.     dataspace:PTR TO _Object
  885.  
  886. OBJECT MUIP_KillNotify
  887.     MethodID:ULONG,
  888.     TrigAttr:ULONG
  889.  
  890. OBJECT MUIP_KillNotifyObj
  891.     MethodID:ULONG,
  892.     TrigAttr:ULONG,
  893.     dest:PTR TO _Object
  894.  
  895. OBJECT MUIP_MultiSet
  896.     MethodID:ULONG,
  897.     attr:ULONG,
  898.     val:ULONG,
  899.     obj:PTR            /* ... */
  900.  
  901. OBJECT MUIP_NoNotifySet
  902.     MethodID:ULONG,
  903.     attr:ULONG,
  904.     format:PTR TO UBYTE,
  905.     val:ULONG               /* ... */
  906.  
  907. OBJECT MUIP_Notify
  908.     MethodID:ULONG,
  909.     TrigAttr:ULONG,
  910.     TrigVal:ULONG,
  911.     DestObj:PTR,
  912.     FollowParams:ULONG     /* ... */
  913.  
  914. OBJECT MUIP_Set
  915.     MethodID:ULONG,
  916.     attr:ULONG,
  917.     val:ULONG
  918.  
  919. OBJECT MUIP_SetAsString
  920.     MethodID:ULONG,
  921.     attr:ULONG,
  922.     format:PTR TO UBYTE,
  923.     val:ULONG               /* ... */
  924.  
  925. OBJECT MUIP_SetUData
  926.     MethodID:ULONG,
  927.     udata:ULONG,
  928.     attr:ULONG,
  929.     val:ULONG
  930.  
  931. OBJECT MUIP_SetUDataOnce
  932.     MethodID:ULONG,
  933.     udata:ULONG,
  934.     attr:ULONG,
  935.     val:ULONG
  936.  
  937. OBJECT MUIP_WriteLong
  938.     MethodID:ULONG,
  939.     val:ULONG,
  940.     memory:PTR TO ULONG
  941.  
  942. OBJECT MUIP_WriteString
  943.     MethodID:ULONG,
  944.     str:PTR TO UBYTE,
  945.     memory:PTR TO UBYTE
  946.  
  947. /* Attributes */
  948. CONST    MUIA_ApplicationObject               =$8042d3ee,     /* V4  ..g Object *          */
  949.         MUIA_AppMessage                      =$80421955,     /* V5  ..g struct AppMessage * */
  950.         MUIA_HelpLine                        =$8042a825,     /* V4  isg LONG              */
  951.         MUIA_HelpNode                        =$80420b85,     /* V4  isg STRPTR            */
  952.         MUIA_NoNotify                        =$804237f9,     /* V7  .s. BOOL              */
  953.         MUIA_ObjectID                        =$8042d76e,     /* V11 isg ULONG             */
  954.         MUIA_Parent                          =$8042e35f,     /* V11 ..g Object *          */
  955.         MUIA_Revision                        =$80427eaa,     /* V4  ..g LONG              */
  956.         MUIA_UserData                        =$80420313,     /* V4  isg ULONG             */
  957.         MUIA_Version                         =$80422301     /* V4  ..g LONG              */
  958. /****************************************************************************/
  959. /** Family                                                                 **/
  960. /****************************************************************************/
  961. #define MUIC_Family  'Family.mui'
  962. /* Methods */
  963. CONST    MUIM_Family_AddHead                  =$8042e200,     /* V8  */
  964.         MUIM_Family_AddTail                  =$8042d752,     /* V8  */
  965.         MUIM_Family_Insert                   =$80424d34,     /* V8  */
  966.         MUIM_Family_Remove                   =$8042f8a9,     /* V8  */
  967.         MUIM_Family_Sort                     =$80421c49,     /* V8  */
  968.         MUIM_Family_Transfer                 =$8042c14a     /* V8  */
  969.  
  970. OBJECT MUIP_Family_AddHead
  971.     MethodID:ULONG,
  972.     obj:PTR TO _Object
  973.  
  974. OBJECT MUIP_Family_AddTail
  975.     MethodID:ULONG,
  976.     obj:PTR TO _Object
  977.  
  978. OBJECT MUIP_Family_Insert
  979.     MethodID:ULONG,
  980.     obj:PTR TO _Object,
  981.     pred:PTR TO _Object
  982.  
  983. OBJECT MUIP_Family_Remove
  984.     MethodID:ULONG,
  985.     obj:PTR TO _Object
  986.  
  987. OBJECT MUIP_Family_Sort
  988.     MethodID:ULONG,
  989.     obj[1]:PTR TO _Object
  990.  
  991. OBJECT MUIP_Family_Transfer
  992.     MethodID:ULONG,
  993.     family:PTR TO _Object
  994.  
  995. /* Attributes */
  996. CONST    MUIA_Family_Child                    =$8042c696,     /* V8  i.. Object *          */
  997.         MUIA_Family_List                     =$80424b9e     /* V8  ..g struct MinList *  */
  998. /****************************************************************************/
  999. /** Menustrip                                                              **/
  1000. /****************************************************************************/
  1001. #define MUIC_Menustrip  'Menustrip.mui'
  1002. /* Methods */
  1003. /* Attributes */
  1004. CONST    MUIA_Menustrip_Enabled               =$8042815b     /* V8  isg BOOL              */
  1005. /****************************************************************************/
  1006. /** Menu                                                                   **/
  1007. /****************************************************************************/
  1008. #define MUIC_Menu  'Menu.mui'
  1009. /* Methods */
  1010. /* Attributes */
  1011. CONST    MUIA_Menu_Enabled                    =$8042ed48,     /* V8  isg BOOL              */
  1012.         MUIA_Menu_Title                      =$8042a0e3     /* V8  isg STRPTR            */
  1013. /****************************************************************************/
  1014. /** Menuitem                                                               **/
  1015. /****************************************************************************/
  1016. #define MUIC_Menuitem  'Menuitem.mui'
  1017. /* Methods */
  1018. /* Attributes */
  1019. CONST    MUIA_Menuitem_Checked                =$8042562a,     /* V8  isg BOOL              */
  1020.         MUIA_Menuitem_Checkit                =$80425ace,     /* V8  isg BOOL              */
  1021.         MUIA_Menuitem_CommandString          =$8042b9cc,     /* V16 isg BOOL              */
  1022.         MUIA_Menuitem_Enabled                =$8042ae0f,     /* V8  isg BOOL              */
  1023.         MUIA_Menuitem_Exclude                =$80420bc6,     /* V8  isg LONG              */
  1024.         MUIA_Menuitem_Shortcut               =$80422030,     /* V8  isg STRPTR            */
  1025.         MUIA_Menuitem_Title                  =$804218be,     /* V8  isg STRPTR            */
  1026.         MUIA_Menuitem_Toggle                 =$80424d5c,     /* V8  isg BOOL              */
  1027.         MUIA_Menuitem_Trigger                =$80426f32     /* V8  ..g struct MenuItem * */
  1028. CONST    MUIV_Menuitem_Shortcut_Check=-1
  1029. /****************************************************************************/
  1030. /** Application                                                            **/
  1031. /****************************************************************************/
  1032. #define MUIC_Application  'Application.mui'
  1033. /* Methods */
  1034. #define MUIM_Application_AboutMUI            $8042d21d     /* V14 */
  1035. #define MUIM_Application_AddInputHandler     $8042f099     /* V11 */
  1036. #define MUIM_Application_CheckRefresh        $80424d68     /* V11 */
  1037. #ifdef MUI_OBSOLETE
  1038. #define MUIM_Application_GetMenuCheck        $8042c0a7     /* V4  */
  1039. #endif
  1040. /* MUI_OBSOLETE */
  1041. #ifdef MUI_OBSOLETE
  1042. #define MUIM_Application_GetMenuState        $8042a58f     /* V4  */
  1043. #endif
  1044. /* MUI_OBSOLETE */
  1045. #ifdef MUI_OBSOLETE
  1046. #define MUIM_Application_Input               $8042d0f5     /* V4  */
  1047. #endif
  1048. /* MUI_OBSOLETE */
  1049. #define MUIM_Application_InputBuffered       $80427e59     /* V4  */
  1050. #define MUIM_Application_Load                $8042f90d     /* V4  */
  1051. #define MUIM_Application_NewInput            $80423ba6     /* V11 */
  1052. #define MUIM_Application_OpenConfigWindow    $804299ba     /* V11 */
  1053. #define MUIM_Application_PushMethod          $80429ef8     /* V4  */
  1054. #define MUIM_Application_RemInputHandler     $8042e7af     /* V11 */
  1055. #define MUIM_Application_ReturnID            $804276ef     /* V4  */
  1056. #define MUIM_Application_Save                $804227ef     /* V4  */
  1057. #define MUIM_Application_SetConfigItem       $80424a80     /* V11 */
  1058. #ifdef MUI_OBSOLETE
  1059. #define MUIM_Application_SetMenuCheck        $8042a707     /* V4  */
  1060. #endif
  1061. /* MUI_OBSOLETE */
  1062. #ifdef MUI_OBSOLETE
  1063. #define MUIM_Application_SetMenuState        $80428bef     /* V4  */
  1064. #endif
  1065. /* MUI_OBSOLETE */
  1066. #define MUIM_Application_ShowHelp            $80426479     /* V4  */
  1067. OBJECT MUIP_Application_AboutMUI
  1068.     MethodID:ULONG,
  1069.     refwindow:PTR TO _Object
  1070.  
  1071. OBJECT MUIP_Application_AddInputHandler
  1072.     MethodID:ULONG,
  1073.     ihnode:PTR TO MUI_InputHandlerNode
  1074.  
  1075. OBJECT MUIP_Application_CheckRefresh
  1076.     MethodID:ULONG
  1077.  
  1078. OBJECT MUIP_Application_GetMenuCheck
  1079.     MethodID:ULONG,
  1080.     MenuID:ULONG
  1081.  
  1082. OBJECT MUIP_Application_GetMenuState
  1083.     MethodID:ULONG,
  1084.     MenuID:ULONG
  1085.  
  1086. OBJECT MUIP_Application_Input
  1087.     MethodID:ULONG,
  1088.     signal:PTR TO ULONG
  1089.  
  1090. OBJECT MUIP_Application_InputBuffered
  1091.     MethodID:ULONG
  1092.  
  1093. OBJECT MUIP_Application_Load
  1094.     MethodID:ULONG,
  1095.     name:PTR TO UBYTE
  1096.  
  1097. OBJECT MUIP_Application_NewInput
  1098.     MethodID:ULONG,
  1099.     signal:PTR TO ULONG
  1100.  
  1101. OBJECT MUIP_Application_OpenConfigWindow
  1102.     MethodID:ULONG,
  1103.     flags:ULONG
  1104.  
  1105. OBJECT MUIP_Application_PushMethod
  1106.     MethodID:ULONG,
  1107.     dest:PTR TO _Object,
  1108.     count:LONG             /* ... */
  1109.  
  1110. OBJECT MUIP_Application_RemInputHandler
  1111.     MethodID:ULONG,
  1112.     ihnode:PTR TO MUI_InputHandlerNode
  1113.  
  1114. OBJECT MUIP_Application_ReturnID
  1115.     MethodID:ULONG,
  1116.     retid:ULONG
  1117.  
  1118. OBJECT MUIP_Application_Save
  1119.     MethodID:ULONG,
  1120.     name:PTR TO UBYTE
  1121.  
  1122. OBJECT MUIP_Application_SetConfigItem
  1123.     MethodID:ULONG,
  1124.     item:ULONG,
  1125.     data:PTR
  1126.  
  1127. OBJECT MUIP_Application_SetMenuCheck
  1128.     MethodID:ULONG,
  1129.     MenuID:ULONG,
  1130.     stat:LONG
  1131.  
  1132. OBJECT MUIP_Application_SetMenuState
  1133.     MethodID:ULONG,
  1134.     MenuID:ULONG,
  1135.     stat:LONG
  1136.  
  1137. OBJECT MUIP_Application_ShowHelp
  1138.     MethodID:ULONG,
  1139.     window:PTR TO _Object,
  1140.     name:PTR TO UBYTE,
  1141.     node:PTR TO UBYTE,
  1142.     line:LONG
  1143.  
  1144. /* Attributes */
  1145. #define MUIA_Application_Active              $804260ab     /* V4  isg BOOL              */
  1146. #define MUIA_Application_Author              $80424842     /* V4  i.g STRPTR            */
  1147. #define MUIA_Application_Base                $8042e07a     /* V4  i.g STRPTR            */
  1148. #define MUIA_Application_Broker              $8042dbce     /* V4  ..g Broker *          */
  1149. #define MUIA_Application_BrokerHook          $80428f4b     /* V4  isg struct Hook *     */
  1150. #define MUIA_Application_BrokerPort          $8042e0ad     /* V6  ..g struct MsgPort *  */
  1151. #define MUIA_Application_BrokerPri           $8042c8d0     /* V6  i.g LONG              */
  1152. #define MUIA_Application_Commands            $80428648     /* V4  isg struct MUI_Command * */
  1153. #define MUIA_Application_Copyright           $8042ef4d     /* V4  i.g STRPTR            */
  1154. #define MUIA_Application_Description         $80421fc6     /* V4  i.g STRPTR            */
  1155. #define MUIA_Application_DiskObject          $804235cb     /* V4  isg struct DiskObject * */
  1156. #define MUIA_Application_DoubleStart         $80423bc6     /* V4  ..g BOOL              */
  1157. #define MUIA_Application_DropObject          $80421266     /* V5  is. Object *          */
  1158. #define MUIA_Application_ForceQuit           $804257df     /* V8  ..g BOOL              */
  1159. #define MUIA_Application_HelpFile            $804293f4     /* V8  isg STRPTR            */
  1160. #define MUIA_Application_Iconified           $8042a07f     /* V4  .sg BOOL              */
  1161. #ifdef MUI_OBSOLETE
  1162. #define MUIA_Application_Menu                $80420e1f     /* V4  i.g struct NewMenu *  */
  1163. #endif
  1164. /* MUI_OBSOLETE */
  1165. #define MUIA_Application_MenuAction          $80428961     /* V4  ..g ULONG             */
  1166. #define MUIA_Application_MenuHelp            $8042540b     /* V4  ..g ULONG             */
  1167. #define MUIA_Application_Menustrip           $804252d9     /* V8  i.. Object *          */
  1168. #define MUIA_Application_RexxHook            $80427c42     /* V7  isg struct Hook *     */
  1169. #define MUIA_Application_RexxMsg             $8042fd88     /* V4  ..g struct RxMsg *    */
  1170. #define MUIA_Application_RexxString          $8042d711     /* V4  .s. STRPTR            */
  1171. #define MUIA_Application_SingleTask          $8042a2c8     /* V4  i.. BOOL              */
  1172. #define MUIA_Application_Sleep               $80425711     /* V4  .s. BOOL              */
  1173. #define MUIA_Application_Title               $804281b8     /* V4  i.g STRPTR            */
  1174. #define MUIA_Application_UseCommodities      $80425ee5     /* V10 i.. BOOL              */
  1175. #define MUIA_Application_UseRexx             $80422387     /* V10 i.. BOOL              */
  1176. #define MUIA_Application_Version             $8042b33f     /* V4  i.g STRPTR            */
  1177. #define MUIA_Application_Window              $8042bfe0     /* V4  i.. Object *          */
  1178. #define MUIA_Application_WindowList          $80429abe     /* V13 ..g struct List *     */
  1179. CONST    MUIV_Application_Package_NetConnect=-1543537847/****************************************************************************/
  1180. /** Window                                                                 **/
  1181. /****************************************************************************/
  1182. #define MUIC_Window  'Window.mui'
  1183. /* Methods */
  1184. #define MUIM_Window_AddEventHandler          $804203b7     /* V16 */
  1185. #ifdef MUI_OBSOLETE
  1186. #define MUIM_Window_GetMenuCheck             $80420414     /* V4  */
  1187. #endif
  1188. /* MUI_OBSOLETE */
  1189. #ifdef MUI_OBSOLETE
  1190. #define MUIM_Window_GetMenuState             $80420d2f     /* V4  */
  1191. #endif
  1192. /* MUI_OBSOLETE */
  1193. #define MUIM_Window_RemEventHandler          $8042679e     /* V16 */
  1194. #define MUIM_Window_ScreenToBack             $8042913d     /* V4  */
  1195. #define MUIM_Window_ScreenToFront            $804227a4     /* V4  */
  1196. #ifdef MUI_OBSOLETE
  1197. #define MUIM_Window_SetCycleChain            $80426510     /* V4  */
  1198. #endif
  1199. /* MUI_OBSOLETE */
  1200. #ifdef MUI_OBSOLETE
  1201. #define MUIM_Window_SetMenuCheck             $80422243     /* V4  */
  1202. #endif
  1203. /* MUI_OBSOLETE */
  1204. #ifdef MUI_OBSOLETE
  1205. #define MUIM_Window_SetMenuState             $80422b5e     /* V4  */
  1206. #endif
  1207. /* MUI_OBSOLETE */
  1208. #define MUIM_Window_Snapshot                 $8042945e     /* V11 */
  1209. #define MUIM_Window_ToBack                   $8042152e     /* V4  */
  1210. #define MUIM_Window_ToFront                  $8042554f     /* V4  */
  1211. OBJECT MUIP_Window_AddEventHandler
  1212.     MethodID:ULONG,
  1213.     ehnode:PTR TO MUI_EventHandlerNode
  1214.  
  1215. OBJECT MUIP_Window_GetMenuCheck
  1216.     MethodID:ULONG,
  1217.     MenuID:ULONG
  1218.  
  1219. OBJECT MUIP_Window_GetMenuState
  1220.     MethodID:ULONG,
  1221.     MenuID:ULONG
  1222.  
  1223. OBJECT MUIP_Window_RemEventHandler
  1224.     MethodID:ULONG,
  1225.     ehnode:PTR TO MUI_EventHandlerNode
  1226.  
  1227. OBJECT MUIP_Window_ScreenToBack
  1228.     MethodID:ULONG
  1229.  
  1230. OBJECT MUIP_Window_ScreenToFront
  1231.     MethodID:ULONG
  1232.  
  1233. OBJECT MUIP_Window_SetCycleChain
  1234.     MethodID:ULONG,
  1235.     obj[1]:PTR TO _Object
  1236.  
  1237. OBJECT MUIP_Window_SetMenuCheck
  1238.     MethodID:ULONG,
  1239.     MenuID:ULONG,
  1240.     stat:LONG
  1241.  
  1242. OBJECT MUIP_Window_SetMenuState
  1243.     MethodID:ULONG,
  1244.     MenuID:ULONG,
  1245.     stat:LONG
  1246.  
  1247. OBJECT MUIP_Window_Snapshot
  1248.     MethodID:ULONG,
  1249.     flags:LONG
  1250.  
  1251. OBJECT MUIP_Window_ToBack
  1252.     MethodID:ULONG
  1253.  
  1254. OBJECT MUIP_Window_ToFront
  1255.     MethodID:ULONG
  1256.  
  1257. /* Attributes */
  1258. #define MUIA_Window_Activate                 $80428d2f     /* V4  isg BOOL              */
  1259. #define MUIA_Window_ActiveObject             $80427925     /* V4  .sg Object *          */
  1260. #define MUIA_Window_AltHeight                $8042cce3     /* V4  i.g LONG              */
  1261. #define MUIA_Window_AltLeftEdge              $80422d65     /* V4  i.g LONG              */
  1262. #define MUIA_Window_AltTopEdge               $8042e99b     /* V4  i.g LONG              */
  1263. #define MUIA_Window_AltWidth                 $804260f4     /* V4  i.g LONG              */
  1264. #define MUIA_Window_AppWindow                $804280cf     /* V5  i.. BOOL              */
  1265. #define MUIA_Window_Backdrop                 $8042c0bb     /* V4  i.. BOOL              */
  1266. #define MUIA_Window_Borderless               $80429b79     /* V4  i.. BOOL              */
  1267. #define MUIA_Window_CloseGadget              $8042a110     /* V4  i.. BOOL              */
  1268. #define MUIA_Window_CloseRequest             $8042e86e     /* V4  ..g BOOL              */
  1269. #define MUIA_Window_DefaultObject            $804294d7     /* V4  isg Object *          */
  1270. #define MUIA_Window_DepthGadget              $80421923     /* V4  i.. BOOL              */
  1271. #define MUIA_Window_DragBar                  $8042045d     /* V4  i.. BOOL              */
  1272. #define MUIA_Window_FancyDrawing             $8042bd0e     /* V8  isg BOOL              */
  1273. #define MUIA_Window_Height                   $80425846     /* V4  i.g LONG              */
  1274. #define MUIA_Window_ID                       $804201bd     /* V4  isg ULONG             */
  1275. #define MUIA_Window_InputEvent               $804247d8     /* V4  ..g struct InputEvent * */
  1276. #define MUIA_Window_IsSubWindow              $8042b5aa     /* V4  isg BOOL              */
  1277. #define MUIA_Window_LeftEdge                 $80426c65     /* V4  i.g LONG              */
  1278. #ifdef MUI_OBSOLETE
  1279. #define MUIA_Window_Menu                     $8042db94     /* V4  i.. struct NewMenu *  */
  1280. #endif
  1281. /* MUI_OBSOLETE */
  1282. #define MUIA_Window_MenuAction               $80427521     /* V8  isg ULONG             */
  1283. #define MUIA_Window_Menustrip                $8042855e     /* V8  i.g Object *          */
  1284. #define MUIA_Window_MouseObject              $8042bf9b     /* V10 ..g Object *          */
  1285. #define MUIA_Window_NeedsMouseObject         $8042372a     /* V10 i.. BOOL              */
  1286. #define MUIA_Window_NoMenus                  $80429df5     /* V4  is. BOOL              */
  1287. #define MUIA_Window_Open                     $80428aa0     /* V4  .sg BOOL              */
  1288. #define MUIA_Window_PublicScreen             $804278e4     /* V6  isg STRPTR            */
  1289. #define MUIA_Window_RefWindow                $804201f4     /* V4  is. Object *          */
  1290. #define MUIA_Window_RootObject               $8042cba5     /* V4  isg Object *          */
  1291. #define MUIA_Window_Screen                   $8042df4f     /* V4  isg struct Screen *   */
  1292. #define MUIA_Window_ScreenTitle              $804234b0     /* V5  isg STRPTR            */
  1293. #define MUIA_Window_SizeGadget               $8042e33d     /* V4  i.. BOOL              */
  1294. #define MUIA_Window_SizeRight                $80424780     /* V4  i.. BOOL              */
  1295. #define MUIA_Window_Sleep                    $8042e7db     /* V4  .sg BOOL              */
  1296. #define MUIA_Window_Title                    $8042ad3d     /* V4  isg STRPTR            */
  1297. #define MUIA_Window_TopEdge                  $80427c66     /* V4  i.g LONG              */
  1298. #define MUIA_Window_UseBottomBorderScroller  $80424e79     /* V13 isg BOOL              */
  1299. #define MUIA_Window_UseLeftBorderScroller    $8042433e     /* V13 isg BOOL              */
  1300. #define MUIA_Window_UseRightBorderScroller   $8042c05e     /* V13 isg BOOL              */
  1301. #define MUIA_Window_Width                    $8042dcae     /* V4  i.g LONG              */
  1302. #define MUIA_Window_Window                   $80426a42     /* V4  ..g struct Window *   */
  1303. CONST    MUIV_Window_ActiveObject_None=0,
  1304.         MUIV_Window_ActiveObject_Next=-1,
  1305.         MUIV_Window_ActiveObject_Prev=-2
  1306. #define MUIV_Window_AltHeight_Visible(p ) (-100-(p))
  1307. #define MUIV_Window_AltHeight_Screen(p ) (-200-(p))
  1308. CONST    MUIV_Window_AltHeight_Scaled=-1000,
  1309.         MUIV_Window_AltLeftEdge_Centered=-1,
  1310.         MUIV_Window_AltLeftEdge_Moused=-2,
  1311.         MUIV_Window_AltLeftEdge_NoChange=-1000,
  1312.         MUIV_Window_AltTopEdge_Centered=-1,
  1313.         MUIV_Window_AltTopEdge_Moused=-2
  1314. CONST    MUIV_Window_AltTopEdge_NoChange=-1000#define MUIV_Window_AltWidth_MinMax(p ) (0-(p))
  1315. #define MUIV_Window_AltWidth_Visible(p ) (-100-(p))
  1316. #define MUIV_Window_AltWidth_Screen(p ) (-200-(p))
  1317. CONST    MUIV_Window_AltWidth_Scaled=-1000#define MUIV_Window_Height_MinMax(p ) (0-(p))
  1318. #define MUIV_Window_Height_Visible(p ) (-100-(p))
  1319. #define MUIV_Window_Height_Screen(p ) (-200-(p))
  1320. CONST    MUIV_Window_Height_Scaled=-1000,
  1321.         MUIV_Window_Height_Default=-1001,
  1322.         MUIV_Window_LeftEdge_Centered=-1,
  1323.         MUIV_Window_LeftEdge_Moused=-2
  1324. CONST    MUIV_Window_Menu_NoMenu=-1#endif
  1325. /* MUI_OBSOLETE */
  1326. CONST    MUIV_Window_TopEdge_Centered=-1,
  1327.         MUIV_Window_TopEdge_Moused=-2
  1328. #define MUIV_Window_Width_MinMax(p ) (0-(p))
  1329. #define MUIV_Window_Width_Visible(p ) (-100-(p))
  1330. #define MUIV_Window_Width_Screen(p ) (-200-(p))
  1331. CONST    MUIV_Window_Width_Scaled=-1000,
  1332.         MUIV_Window_Width_Default=-1001
  1333. /** Aboutmui                                                               **/
  1334. /****************************************************************************/
  1335. #define MUIC_Aboutmui  'Aboutmui.mui'
  1336. /* Methods */
  1337. /* Attributes */
  1338. #define MUIA_Aboutmui_Application            $80422523     /* V11 i.. Object *          */
  1339. /****************************************************************************/
  1340. /** Area                                                                   **/
  1341. /****************************************************************************/
  1342. #define MUIC_Area  'Area.mui'
  1343. /* Methods */
  1344. #define MUIM_AskMinMax                       $80423874     /* Custom Class */
  1345. /* V4  */
  1346. #define MUIM_Cleanup                         $8042d985     /* Custom Class */
  1347. /* V4  */
  1348. #define MUIM_ContextMenuBuild                $80429d2e     /* V11 */
  1349. #define MUIM_ContextMenuChoice               $80420f0e     /* V11 */
  1350. #define MUIM_CreateBubble                    $80421c41     /* V18 */
  1351. #define MUIM_CreateShortHelp                 $80428e93     /* V11 */
  1352. #define MUIM_DeleteBubble                    $804211af     /* V18 */
  1353. #define MUIM_DeleteShortHelp                 $8042d35a     /* V11 */
  1354. #define MUIM_DragBegin                       $8042c03a     /* V11 */
  1355. #define MUIM_DragDrop                        $8042c555     /* V11 */
  1356. #define MUIM_DragFinish                      $804251f0     /* V11 */
  1357. #define MUIM_DragQuery                       $80420261     /* V11 */
  1358. #define MUIM_DragReport                      $8042edad     /* V11 */
  1359. #define MUIM_Draw                            $80426f3f     /* Custom Class */
  1360. /* V4  */
  1361. #define MUIM_DrawBackground                  $804238ca     /* V11 */
  1362. #define MUIM_HandleEvent                     $80426d66     /* Custom Class */
  1363. /* V16 */
  1364. #define MUIM_HandleInput                     $80422a1a     /* Custom Class */
  1365. /* V4  */
  1366. #define MUIM_Hide                            $8042f20f     /* Custom Class */
  1367. /* V4  */
  1368. #define MUIM_Setup                           $80428354     /* Custom Class */
  1369. /* V4  */
  1370. #define MUIM_Show                            $8042cc84     /* Custom Class */
  1371. /* V4  */
  1372. OBJECT MUIP_AskMinMax
  1373.     MethodID:ULONG,
  1374.     MinMaxInfo:PTR TO MUI_MinMax
  1375.  
  1376. /* Custom Class */
  1377. OBJECT MUIP_Cleanup
  1378.     MethodID:ULONG
  1379.  
  1380. /* Custom Class */
  1381. OBJECT MUIP_ContextMenuBuild
  1382.     MethodID:ULONG,
  1383.     mx:LONG,
  1384.     my:LONG
  1385.  
  1386. OBJECT MUIP_ContextMenuChoice
  1387.     MethodID:ULONG,
  1388.     item:PTR TO _Object
  1389.  
  1390. OBJECT MUIP_CreateBubble
  1391.     MethodID:ULONG,
  1392.     x:LONG,
  1393.     y:LONG,
  1394.     txt:PTR TO UBYTE,
  1395.     flags:ULONG
  1396.  
  1397. OBJECT MUIP_CreateShortHelp
  1398.     MethodID:ULONG,
  1399.     mx:LONG,
  1400.     my:LONG
  1401.  
  1402. OBJECT MUIP_DeleteBubble
  1403.     MethodID:ULONG,
  1404.     bubble:PTR
  1405.  
  1406. OBJECT MUIP_DeleteShortHelp
  1407.     MethodID:ULONG,
  1408.     help:PTR TO UBYTE
  1409.  
  1410. OBJECT MUIP_DragBegin
  1411.     MethodID:ULONG,
  1412.     obj:PTR TO _Object
  1413.  
  1414. OBJECT MUIP_DragDrop
  1415.     MethodID:ULONG,
  1416.     obj:PTR TO _Object,
  1417.     x:LONG,
  1418.     y:LONG
  1419.  
  1420. OBJECT MUIP_DragFinish
  1421.     MethodID:ULONG,
  1422.     obj:PTR TO _Object
  1423.  
  1424. OBJECT MUIP_DragQuery
  1425.     MethodID:ULONG,
  1426.     obj:PTR TO _Object
  1427.  
  1428. OBJECT MUIP_DragReport
  1429.     MethodID:ULONG,
  1430.     obj:PTR TO _Object,
  1431.     x:LONG,
  1432.     y:LONG,
  1433.     update:LONG
  1434.  
  1435. OBJECT MUIP_Draw
  1436.     MethodID:ULONG,
  1437.     flags:ULONG
  1438.  
  1439. /* Custom Class */
  1440. OBJECT MUIP_DrawBackground
  1441.     MethodID:ULONG,
  1442.     left:LONG,
  1443.     top:LONG,
  1444.     width:LONG,
  1445.     height:LONG,
  1446.     xoffset:LONG,
  1447.     yoffset:LONG,
  1448.     flags:LONG
  1449.  
  1450. OBJECT MUIP_HandleEvent
  1451.     MethodID:ULONG,
  1452.     imsg:PTR TO IntuiMessage,
  1453.     muikey:LONG
  1454.  
  1455. /* Custom Class */
  1456. OBJECT MUIP_HandleInput
  1457.     MethodID:ULONG,
  1458.     imsg:PTR TO IntuiMessage,
  1459.     muikey:LONG
  1460.  
  1461. /* Custom Class */
  1462. OBJECT MUIP_Hide
  1463.     MethodID:ULONG
  1464.  
  1465. /* Custom Class */
  1466. OBJECT MUIP_Setup
  1467.     MethodID:ULONG,
  1468.     RenderInfo:PTR TO MUI_RenderInfo
  1469.  
  1470. /* Custom Class */
  1471. OBJECT MUIP_Show
  1472.     MethodID:ULONG
  1473.  
  1474. /* Custom Class */
  1475. /* Attributes */
  1476. #define MUIA_Background                      $8042545b     /* V4  is. LONG              */
  1477. #define MUIA_BottomEdge                      $8042e552     /* V4  ..g LONG              */
  1478. #define MUIA_ContextMenu                     $8042b704     /* V11 isg Object *          */
  1479. #define MUIA_ContextMenuTrigger              $8042a2c1     /* V11 ..g Object *          */
  1480. #define MUIA_ControlChar                     $8042120b     /* V4  isg char              */
  1481. #define MUIA_CycleChain                      $80421ce7     /* V11 isg LONG              */
  1482. #define MUIA_Disabled                        $80423661     /* V4  isg BOOL              */
  1483. #define MUIA_Draggable                       $80420b6e     /* V11 isg BOOL              */
  1484. #define MUIA_Dropable                        $8042fbce     /* V11 isg BOOL              */
  1485. #ifdef MUI_OBSOLETE
  1486. #define MUIA_ExportID                        $8042d76e     /* V4  isg ULONG             */
  1487. #endif
  1488. /* MUI_OBSOLETE */
  1489. #define MUIA_FillArea                        $804294a3     /* V4  is. BOOL              */
  1490. #define MUIA_FixHeight                       $8042a92b     /* V4  i.. LONG              */
  1491. #define MUIA_FixHeightTxt                    $804276f2     /* V4  i.. STRPTR            */
  1492. #define MUIA_FixWidth                        $8042a3f1     /* V4  i.. LONG              */
  1493. #define MUIA_FixWidthTxt                     $8042d044     /* V4  i.. STRPTR            */
  1494. #define MUIA_Font                            $8042be50     /* V4  i.g struct TextFont * */
  1495. #define MUIA_Frame                           $8042ac64     /* V4  i.. LONG              */
  1496. #define MUIA_FramePhantomHoriz               $8042ed76     /* V4  i.. BOOL              */
  1497. #define MUIA_FrameTitle                      $8042d1c7     /* V4  i.. STRPTR            */
  1498. #define MUIA_Height                          $80423237     /* V4  ..g LONG              */
  1499. #define MUIA_HorizDisappear                  $80429615     /* V11 isg LONG              */
  1500. #define MUIA_HorizWeight                     $80426db9     /* V4  isg WORD              */
  1501. #define MUIA_InnerBottom                     $8042f2c0     /* V4  i.g LONG              */
  1502. #define MUIA_InnerLeft                       $804228f8     /* V4  i.g LONG              */
  1503. #define MUIA_InnerRight                      $804297ff     /* V4  i.g LONG              */
  1504. #define MUIA_InnerTop                        $80421eb6     /* V4  i.g LONG              */
  1505. #define MUIA_InputMode                       $8042fb04     /* V4  i.. LONG              */
  1506. #define MUIA_LeftEdge                        $8042bec6     /* V4  ..g LONG              */
  1507. #define MUIA_MaxHeight                       $804293e4     /* V11 i.. LONG              */
  1508. #define MUIA_MaxWidth                        $8042f112     /* V11 i.. LONG              */
  1509. #define MUIA_Pressed                         $80423535     /* V4  ..g BOOL              */
  1510. #define MUIA_RightEdge                       $8042ba82     /* V4  ..g LONG              */
  1511. #define MUIA_Selected                        $8042654b     /* V4  isg BOOL              */
  1512. #define MUIA_ShortHelp                       $80428fe3     /* V11 isg STRPTR            */
  1513. #define MUIA_ShowMe                          $80429ba8     /* V4  isg BOOL              */
  1514. #define MUIA_ShowSelState                    $8042caac     /* V4  i.. BOOL              */
  1515. #define MUIA_Timer                           $80426435     /* V4  ..g LONG              */
  1516. #define MUIA_TopEdge                         $8042509b     /* V4  ..g LONG              */
  1517. #define MUIA_VertDisappear                   $8042d12f     /* V11 isg LONG              */
  1518. #define MUIA_VertWeight                      $804298d0     /* V4  isg WORD              */
  1519. #define MUIA_Weight                          $80421d1f     /* V4  i.. WORD              */
  1520. #define MUIA_Width                           $8042b59c     /* V4  ..g LONG              */
  1521. #define MUIA_Window                          $80421591     /* V4  ..g struct Window *   */
  1522. #define MUIA_WindowObject                    $8042669e     /* V4  ..g Object *          */
  1523. CONST    MUIV_Font_Inherit=0,
  1524.         MUIV_Font_Normal=-1,
  1525.         MUIV_Font_List=-2,
  1526.         MUIV_Font_Tiny=-3,
  1527.         MUIV_Font_Fixed=-4,
  1528.         MUIV_Font_Title=-5,
  1529.         MUIV_Font_Big=-6,
  1530.         MUIV_Font_Button=-7,
  1531.         MUIV_Frame_None=0,
  1532.         MUIV_Frame_Button=1,
  1533.         MUIV_Frame_ImageButton=2,
  1534.         MUIV_Frame_Text=3,
  1535.         MUIV_Frame_String=4,
  1536.         MUIV_Frame_ReadList=5,
  1537.         MUIV_Frame_InputList=6,
  1538.         MUIV_Frame_Prop=7,
  1539.         MUIV_Frame_Gauge=8,
  1540.         MUIV_Frame_Group=9,
  1541.         MUIV_Frame_PopUp=10,
  1542.         MUIV_Frame_Virtual=11,
  1543.         MUIV_Frame_Slider=12,
  1544.         MUIV_Frame_Count=13,
  1545.         MUIV_InputMode_None=0,
  1546.         MUIV_InputMode_RelVerify=1,
  1547.         MUIV_InputMode_Immediate=2,
  1548.         MUIV_InputMode_Toggle=3
  1549. /** Rectangle                                                              **/
  1550. /****************************************************************************/
  1551. #define MUIC_Rectangle  'Rectangle.mui'
  1552. /* Attributes */
  1553. #define MUIA_Rectangle_BarTitle              $80426689     /* V11 i.g STRPTR            */
  1554. #define MUIA_Rectangle_HBar                  $8042c943     /* V7  i.g BOOL              */
  1555. #define MUIA_Rectangle_VBar                  $80422204     /* V7  i.g BOOL              */
  1556. /****************************************************************************/
  1557. /** Balance                                                                **/
  1558. /****************************************************************************/
  1559. #define MUIC_Balance  'Balance.mui'
  1560. /****************************************************************************/
  1561. /** Image                                                                  **/
  1562. /****************************************************************************/
  1563. #define MUIC_Image  'Image.mui'
  1564. /* Attributes */
  1565. #define MUIA_Image_FontMatch                 $8042815d     /* V4  i.. BOOL              */
  1566. #define MUIA_Image_FontMatchHeight           $80429f26     /* V4  i.. BOOL              */
  1567. #define MUIA_Image_FontMatchWidth            $804239bf     /* V4  i.. BOOL              */
  1568. #define MUIA_Image_FreeHoriz                 $8042da84     /* V4  i.. BOOL              */
  1569. #define MUIA_Image_FreeVert                  $8042ea28     /* V4  i.. BOOL              */
  1570. #define MUIA_Image_OldImage                  $80424f3d     /* V4  i.. struct Image *    */
  1571. #define MUIA_Image_Spec                      $804233d5     /* V4  i.. char *            */
  1572. #define MUIA_Image_State                     $8042a3ad     /* V4  is. LONG              */
  1573. /****************************************************************************/
  1574. /** Bitmap                                                                 **/
  1575. /****************************************************************************/
  1576. #define MUIC_Bitmap  'Bitmap.mui'
  1577. /* Attributes */
  1578. #define MUIA_Bitmap_Bitmap                   $804279bd     /* V8  isg struct BitMap *   */
  1579. #define MUIA_Bitmap_Height                   $80421560     /* V8  isg LONG              */
  1580. #define MUIA_Bitmap_MappingTable             $8042e23d     /* V8  isg UBYTE *           */
  1581. #define MUIA_Bitmap_Precision                $80420c74     /* V11 isg LONG              */
  1582. #define MUIA_Bitmap_RemappedBitmap           $80423a47     /* V11 ..g struct BitMap *   */
  1583. #define MUIA_Bitmap_SourceColors             $80425360     /* V8  isg ULONG *           */
  1584. #define MUIA_Bitmap_Transparent              $80422805     /* V8  isg LONG              */
  1585. #define MUIA_Bitmap_UseFriend                $804239d8     /* V11 i.. BOOL              */
  1586. #define MUIA_Bitmap_Width                    $8042eb3a     /* V8  isg LONG              */
  1587. /****************************************************************************/
  1588. /** Bodychunk                                                              **/
  1589. /****************************************************************************/
  1590. #define MUIC_Bodychunk  'Bodychunk.mui'
  1591. /* Attributes */
  1592. #define MUIA_Bodychunk_Body                  $8042ca67     /* V8  isg UBYTE *           */
  1593. #define MUIA_Bodychunk_Compression           $8042de5f     /* V8  isg UBYTE             */
  1594. #define MUIA_Bodychunk_Depth                 $8042c392     /* V8  isg LONG              */
  1595. #define MUIA_Bodychunk_Masking               $80423b0e     /* V8  isg UBYTE             */
  1596. /****************************************************************************/
  1597. /** Text                                                                   **/
  1598. /****************************************************************************/
  1599. #define MUIC_Text  'Text.mui'
  1600. /* Attributes */
  1601. #define MUIA_Text_Contents                   $8042f8dc     /* V4  isg STRPTR            */
  1602. #define MUIA_Text_HiChar                     $804218ff     /* V4  i.. char              */
  1603. #define MUIA_Text_PreParse                   $8042566d     /* V4  isg STRPTR            */
  1604. #define MUIA_Text_SetMax                     $80424d0a     /* V4  i.. BOOL              */
  1605. #define MUIA_Text_SetMin                     $80424e10     /* V4  i.. BOOL              */
  1606. #define MUIA_Text_SetVMax                    $80420d8b     /* V11 i.. BOOL              */
  1607. /****************************************************************************/
  1608. /** Gadget                                                                 **/
  1609. /****************************************************************************/
  1610. #define MUIC_Gadget  'Gadget.mui'
  1611. /* Attributes */
  1612. #define MUIA_Gadget_Gadget                   $8042ec1a     /* V11 ..g struct Gadget *   */
  1613. /****************************************************************************/
  1614. /** String                                                                 **/
  1615. /****************************************************************************/
  1616. #define MUIC_String  'String.mui'
  1617. /* Methods */
  1618. /* Attributes */
  1619. #define MUIA_String_Accept                   $8042e3e1     /* V4  isg STRPTR            */
  1620. #define MUIA_String_Acknowledge              $8042026c     /* V4  ..g STRPTR            */
  1621. #define MUIA_String_AdvanceOnCR              $804226de     /* V11 isg BOOL              */
  1622. #define MUIA_String_AttachedList             $80420fd2     /* V4  isg Object *          */
  1623. #define MUIA_String_BufferPos                $80428b6c     /* V4  .sg LONG              */
  1624. #define MUIA_String_Contents                 $80428ffd     /* V4  isg STRPTR            */
  1625. #define MUIA_String_DisplayPos               $8042ccbf     /* V4  .sg LONG              */
  1626. #define MUIA_String_EditHook                 $80424c33     /* V7  isg struct Hook *     */
  1627. #define MUIA_String_Format                   $80427484     /* V4  i.g LONG              */
  1628. #define MUIA_String_Integer                  $80426e8a     /* V4  isg ULONG             */
  1629. #define MUIA_String_LonelyEditHook           $80421569     /* V11 isg BOOL              */
  1630. #define MUIA_String_MaxLen                   $80424984     /* V4  i.g LONG              */
  1631. #define MUIA_String_Reject                   $8042179c     /* V4  isg STRPTR            */
  1632. #define MUIA_String_Secret                   $80428769     /* V4  i.g BOOL              */
  1633. CONST    MUIV_String_Format_Left=0,
  1634.         MUIV_String_Format_Center=1,
  1635.         MUIV_String_Format_Right=2
  1636. /** Boopsi                                                                 **/
  1637. /****************************************************************************/
  1638. #define MUIC_Boopsi  'Boopsi.mui'
  1639. /* Attributes */
  1640. #define MUIA_Boopsi_Class                    $80426999     /* V4  isg struct IClass *   */
  1641. #define MUIA_Boopsi_ClassID                  $8042bfa3     /* V4  isg char *            */
  1642. #define MUIA_Boopsi_MaxHeight                $8042757f     /* V4  isg ULONG             */
  1643. #define MUIA_Boopsi_MaxWidth                 $8042bcb1     /* V4  isg ULONG             */
  1644. #define MUIA_Boopsi_MinHeight                $80422c93     /* V4  isg ULONG             */
  1645. #define MUIA_Boopsi_MinWidth                 $80428fb2     /* V4  isg ULONG             */
  1646. #define MUIA_Boopsi_Object                   $80420178     /* V4  ..g Object *          */
  1647. #define MUIA_Boopsi_Remember                 $8042f4bd     /* V4  i.. ULONG             */
  1648. #define MUIA_Boopsi_Smart                    $8042b8d7     /* V9  i.. BOOL              */
  1649. #define MUIA_Boopsi_TagDrawInfo              $8042bae7     /* V4  isg ULONG             */
  1650. #define MUIA_Boopsi_TagScreen                $8042bc71     /* V4  isg ULONG             */
  1651. #define MUIA_Boopsi_TagWindow                $8042e11d     /* V4  isg ULONG             */
  1652. /****************************************************************************/
  1653. /** Prop                                                                   **/
  1654. /****************************************************************************/
  1655. #define MUIC_Prop  'Prop.mui'
  1656. /* Methods */
  1657. #define MUIM_Prop_Decrease                   $80420dd1     /* V16 */
  1658. #define MUIM_Prop_Increase                   $8042cac0     /* V16 */
  1659. OBJECT MUIP_Prop_Decrease
  1660.     MethodID:ULONG,
  1661.     amount:LONG
  1662.  
  1663. OBJECT MUIP_Prop_Increase
  1664.     MethodID:ULONG,
  1665.     amount:LONG
  1666.  
  1667. /* Attributes */
  1668. #define MUIA_Prop_Entries                    $8042fbdb     /* V4  isg LONG              */
  1669. #define MUIA_Prop_First                      $8042d4b2     /* V4  isg LONG              */
  1670. #define MUIA_Prop_Horiz                      $8042f4f3     /* V4  i.g BOOL              */
  1671. #define MUIA_Prop_Slider                     $80429c3a     /* V4  isg BOOL              */
  1672. #define MUIA_Prop_UseWinBorder               $8042deee     /* V13 i.. LONG              */
  1673. #define MUIA_Prop_Visible                    $8042fea6     /* V4  isg LONG              */
  1674. CONST    MUIV_Prop_UseWinBorder_None=0,
  1675.         MUIV_Prop_UseWinBorder_Left=1,
  1676.         MUIV_Prop_UseWinBorder_Right=2,
  1677.         MUIV_Prop_UseWinBorder_Bottom=3
  1678. /** Gauge                                                                  **/
  1679. /****************************************************************************/
  1680. #define MUIC_Gauge  'Gauge.mui'
  1681. /* Attributes */
  1682. #define MUIA_Gauge_Current                   $8042f0dd     /* V4  isg LONG              */
  1683. #define MUIA_Gauge_Divide                    $8042d8df     /* V4  isg BOOL              */
  1684. #define MUIA_Gauge_Horiz                     $804232dd     /* V4  i.. BOOL              */
  1685. #define MUIA_Gauge_InfoText                  $8042bf15     /* V7  isg STRPTR            */
  1686. #define MUIA_Gauge_Max                       $8042bcdb     /* V4  isg LONG              */
  1687. /****************************************************************************/
  1688. /** Scale                                                                  **/
  1689. /****************************************************************************/
  1690. #define MUIC_Scale  'Scale.mui'
  1691. /* Attributes */
  1692. #define MUIA_Scale_Horiz                     $8042919a     /* V4  isg BOOL              */
  1693. /****************************************************************************/
  1694. /** Colorfield                                                             **/
  1695. /****************************************************************************/
  1696. #define MUIC_Colorfield  'Colorfield.mui'
  1697. /* Attributes */
  1698. #define MUIA_Colorfield_Blue                 $8042d3b0     /* V4  isg ULONG             */
  1699. #define MUIA_Colorfield_Green                $80424466     /* V4  isg ULONG             */
  1700. #define MUIA_Colorfield_Pen                  $8042713a     /* V4  ..g ULONG             */
  1701. #define MUIA_Colorfield_Red                  $804279f6     /* V4  isg ULONG             */
  1702. #define MUIA_Colorfield_RGB                  $8042677a     /* V4  isg ULONG *           */
  1703. /****************************************************************************/
  1704. /** List                                                                   **/
  1705. /****************************************************************************/
  1706. #define MUIC_List  'List.mui'
  1707. /* Methods */
  1708. #define MUIM_List_Clear                      $8042ad89     /* V4  */
  1709. #define MUIM_List_CreateImage                $80429804     /* V11 */
  1710. #define MUIM_List_DeleteImage                $80420f58     /* V11 */
  1711. #define MUIM_List_Exchange                   $8042468c     /* V4  */
  1712. #define MUIM_List_GetEntry                   $804280ec     /* V4  */
  1713. #define MUIM_List_Insert                     $80426c87     /* V4  */
  1714. #define MUIM_List_InsertSingle               $804254d5     /* V7  */
  1715. #define MUIM_List_Jump                       $8042baab     /* V4  */
  1716. #define MUIM_List_Move                       $804253c2     /* V9  */
  1717. #define MUIM_List_NextSelected               $80425f17     /* V6  */
  1718. #define MUIM_List_Redraw                     $80427993     /* V4  */
  1719. #define MUIM_List_Remove                     $8042647e     /* V4  */
  1720. #define MUIM_List_Select                     $804252d8     /* V4  */
  1721. #define MUIM_List_Sort                       $80422275     /* V4  */
  1722. #define MUIM_List_TestPos                    $80425f48     /* V11 */
  1723. OBJECT MUIP_List_Clear
  1724.     MethodID:ULONG
  1725.  
  1726. OBJECT MUIP_List_CreateImage
  1727.     MethodID:ULONG,
  1728.     obj:PTR TO _Object,
  1729.     flags:ULONG
  1730.  
  1731. OBJECT MUIP_List_DeleteImage
  1732.     MethodID:ULONG,
  1733.     listimg:PTR
  1734.  
  1735. OBJECT MUIP_List_Exchange
  1736.     MethodID:ULONG,
  1737.     pos1:LONG,
  1738.     pos2:LONG
  1739.  
  1740. OBJECT MUIP_List_GetEntry
  1741.     MethodID:ULONG,
  1742.     pos:LONG,
  1743.     entry:PTR TO PTR
  1744.  
  1745. OBJECT MUIP_List_Insert
  1746.     MethodID:ULONG,
  1747.     entries:PTR TO PTR,
  1748.     count:LONG,
  1749.     pos:LONG
  1750.  
  1751. OBJECT MUIP_List_InsertSingle
  1752.     MethodID:ULONG,
  1753.     entry:PTR,
  1754.     pos:LONG
  1755.  
  1756. OBJECT MUIP_List_Jump
  1757.     MethodID:ULONG,
  1758.     pos:LONG
  1759.  
  1760. OBJECT MUIP_List_Move
  1761.     MethodID:ULONG,
  1762.     from:LONG,
  1763.     to:LONG
  1764.  
  1765. OBJECT MUIP_List_NextSelected
  1766.     MethodID:ULONG,
  1767.     pos:PTR TO LONG
  1768.  
  1769. OBJECT MUIP_List_Redraw
  1770.     MethodID:ULONG,
  1771.     pos:LONG
  1772.  
  1773. OBJECT MUIP_List_Remove
  1774.     MethodID:ULONG,
  1775.     pos:LONG
  1776.  
  1777. OBJECT MUIP_List_Select
  1778.     MethodID:ULONG,
  1779.     pos:LONG,
  1780.     seltype:LONG,
  1781.     state:PTR TO LONG
  1782.  
  1783. OBJECT MUIP_List_Sort
  1784.     MethodID:ULONG
  1785.  
  1786. OBJECT MUIP_List_TestPos
  1787.     MethodID:ULONG,
  1788.     x:LONG,
  1789.     y:LONG,
  1790.     res:PTR TO MUI_List_TestPos_Result
  1791.  
  1792. /* Attributes */
  1793. #define MUIA_List_Active                     $8042391c     /* V4  isg LONG              */
  1794. #define MUIA_List_AdjustHeight               $8042850d     /* V4  i.. BOOL              */
  1795. #define MUIA_List_AdjustWidth                $8042354a     /* V4  i.. BOOL              */
  1796. #define MUIA_List_AutoVisible                $8042a445     /* V11 isg BOOL              */
  1797. #define MUIA_List_CompareHook                $80425c14     /* V4  is. struct Hook *     */
  1798. #define MUIA_List_ConstructHook              $8042894f     /* V4  is. struct Hook *     */
  1799. #define MUIA_List_DestructHook               $804297ce     /* V4  is. struct Hook *     */
  1800. #define MUIA_List_DisplayHook                $8042b4d5     /* V4  is. struct Hook *     */
  1801. #define MUIA_List_DragSortable               $80426099     /* V11 isg BOOL              */
  1802. #define MUIA_List_DropMark                   $8042aba6     /* V11 ..g LONG              */
  1803. #define MUIA_List_Entries                    $80421654     /* V4  ..g LONG              */
  1804. #define MUIA_List_First                      $804238d4     /* V4  ..g LONG              */
  1805. #define MUIA_List_Format                     $80423c0a     /* V4  isg STRPTR            */
  1806. #define MUIA_List_InsertPosition             $8042d0cd     /* V9  ..g LONG              */
  1807. #define MUIA_List_MinLineHeight              $8042d1c3     /* V4  i.. LONG              */
  1808. #define MUIA_List_MultiTestHook              $8042c2c6     /* V4  is. struct Hook *     */
  1809. #define MUIA_List_Pool                       $80423431     /* V13 i.. APTR              */
  1810. #define MUIA_List_PoolPuddleSize             $8042a4eb     /* V13 i.. ULONG             */
  1811. #define MUIA_List_PoolThreshSize             $8042c48c     /* V13 i.. ULONG             */
  1812. #define MUIA_List_Quiet                      $8042d8c7     /* V4  .s. BOOL              */
  1813. #define MUIA_List_ShowDropMarks              $8042c6f3     /* V11 isg BOOL              */
  1814. #define MUIA_List_SourceArray                $8042c0a0     /* V4  i.. APTR              */
  1815. #define MUIA_List_Title                      $80423e66     /* V6  isg char *            */
  1816. #define MUIA_List_Visible                    $8042191f     /* V4  ..g LONG              */
  1817. CONST    MUIV_List_Active_Off=-1,
  1818.         MUIV_List_Active_Top=-2,
  1819.         MUIV_List_Active_Bottom=-3,
  1820.         MUIV_List_Active_Up=-4,
  1821.         MUIV_List_Active_Down=-5,
  1822.         MUIV_List_Active_PageUp=-6,
  1823.         MUIV_List_Active_PageDown=-7,
  1824.         MUIV_List_ConstructHook_String=-1,
  1825.         MUIV_List_CopyHook_String=-1,
  1826.         MUIV_List_CursorType_None=0,
  1827.         MUIV_List_CursorType_Bar=1,
  1828.         MUIV_List_CursorType_Rect=2,
  1829.         MUIV_List_DestructHook_String=-1
  1830. /** Floattext                                                              **/
  1831. /****************************************************************************/
  1832. #define MUIC_Floattext  'Floattext.mui'
  1833. /* Attributes */
  1834. #define MUIA_Floattext_Justify               $8042dc03     /* V4  isg BOOL              */
  1835. #define MUIA_Floattext_SkipChars             $80425c7d     /* V4  is. STRPTR            */
  1836. #define MUIA_Floattext_TabSize               $80427d17     /* V4  is. LONG              */
  1837. #define MUIA_Floattext_Text                  $8042d16a     /* V4  isg STRPTR            */
  1838. /****************************************************************************/
  1839. /** Volumelist                                                             **/
  1840. /****************************************************************************/
  1841. #define MUIC_Volumelist  'Volumelist.mui'
  1842. /****************************************************************************/
  1843. /** Scrmodelist                                                            **/
  1844. /****************************************************************************/
  1845. #define MUIC_Scrmodelist  'Scrmodelist.mui'
  1846. /* Attributes */
  1847. /****************************************************************************/
  1848. /** Dirlist                                                                **/
  1849. /****************************************************************************/
  1850. #define MUIC_Dirlist  'Dirlist.mui'
  1851. /* Methods */
  1852. #define MUIM_Dirlist_ReRead                  $80422d71     /* V4  */
  1853. OBJECT MUIP_Dirlist_ReRead
  1854.     MethodID:ULONG
  1855.  
  1856. /* Attributes */
  1857. #define MUIA_Dirlist_AcceptPattern           $8042760a     /* V4  is. STRPTR            */
  1858. #define MUIA_Dirlist_Directory               $8042ea41     /* V4  isg STRPTR            */
  1859. #define MUIA_Dirlist_DrawersOnly             $8042b379     /* V4  is. BOOL              */
  1860. #define MUIA_Dirlist_FilesOnly               $8042896a     /* V4  is. BOOL              */
  1861. #define MUIA_Dirlist_FilterDrawers           $80424ad2     /* V4  is. BOOL              */
  1862. #define MUIA_Dirlist_FilterHook              $8042ae19     /* V4  is. struct Hook *     */
  1863. #define MUIA_Dirlist_MultiSelDirs            $80428653     /* V6  is. BOOL              */
  1864. #define MUIA_Dirlist_NumBytes                $80429e26     /* V4  ..g LONG              */
  1865. #define MUIA_Dirlist_NumDrawers              $80429cb8     /* V4  ..g LONG              */
  1866. #define MUIA_Dirlist_NumFiles                $8042a6f0     /* V4  ..g LONG              */
  1867. #define MUIA_Dirlist_Path                    $80426176     /* V4  ..g STRPTR            */
  1868. #define MUIA_Dirlist_RejectIcons             $80424808     /* V4  is. BOOL              */
  1869. #define MUIA_Dirlist_RejectPattern           $804259c7     /* V4  is. STRPTR            */
  1870. #define MUIA_Dirlist_SortDirs                $8042bbb9     /* V4  is. LONG              */
  1871. #define MUIA_Dirlist_SortHighLow             $80421896     /* V4  is. BOOL              */
  1872. #define MUIA_Dirlist_SortType                $804228bc     /* V4  is. LONG              */
  1873. #define MUIA_Dirlist_Status                  $804240de     /* V4  ..g LONG              */
  1874. CONST    MUIV_Dirlist_SortDirs_First=0,
  1875.         MUIV_Dirlist_SortDirs_Last=1,
  1876.         MUIV_Dirlist_SortDirs_Mix=2,
  1877.         MUIV_Dirlist_SortType_Name=0,
  1878.         MUIV_Dirlist_SortType_Date=1,
  1879.         MUIV_Dirlist_SortType_Size=2,
  1880.         MUIV_Dirlist_Status_Invalid=0,
  1881.         MUIV_Dirlist_Status_Reading=1,
  1882.         MUIV_Dirlist_Status_Valid=2
  1883. /** Numeric                                                                **/
  1884. /****************************************************************************/
  1885. #define MUIC_Numeric  'Numeric.mui'
  1886. /* Methods */
  1887. #define MUIM_Numeric_Decrease                $804243a7     /* V11 */
  1888. #define MUIM_Numeric_Increase                $80426ecd     /* V11 */
  1889. #define MUIM_Numeric_ScaleToValue            $8042032c     /* V11 */
  1890. #define MUIM_Numeric_SetDefault              $8042ab0a     /* V11 */
  1891. #define MUIM_Numeric_Stringify               $80424891     /* V11 */
  1892. #define MUIM_Numeric_ValueToScale            $80423e4f     /* V11 */
  1893. OBJECT MUIP_Numeric_Decrease
  1894.     MethodID:ULONG,
  1895.     amount:LONG
  1896.  
  1897. OBJECT MUIP_Numeric_Increase
  1898.     MethodID:ULONG,
  1899.     amount:LONG
  1900.  
  1901. OBJECT MUIP_Numeric_ScaleToValue
  1902.     MethodID:ULONG,
  1903.     scalemin:LONG,
  1904.     scalemax:LONG,
  1905.     scale:LONG
  1906.  
  1907. OBJECT MUIP_Numeric_SetDefault
  1908.     MethodID:ULONG
  1909.  
  1910. OBJECT MUIP_Numeric_Stringify
  1911.     MethodID:ULONG,
  1912.     value:LONG
  1913.  
  1914. OBJECT MUIP_Numeric_ValueToScale
  1915.     MethodID:ULONG,
  1916.     scalemin:LONG,
  1917.     scalemax:LONG
  1918.  
  1919. /* Attributes */
  1920. #define MUIA_Numeric_CheckAllSizes           $80421594     /* V11 isg BOOL              */
  1921. #define MUIA_Numeric_Default                 $804263e8     /* V11 isg LONG              */
  1922. #define MUIA_Numeric_Format                  $804263e9     /* V11 isg STRPTR            */
  1923. #define MUIA_Numeric_Max                     $8042d78a     /* V11 isg LONG              */
  1924. #define MUIA_Numeric_Min                     $8042e404     /* V11 isg LONG              */
  1925. #define MUIA_Numeric_Reverse                 $8042f2a0     /* V11 isg BOOL              */
  1926. #define MUIA_Numeric_RevLeftRight            $804294a7     /* V11 isg BOOL              */
  1927. #define MUIA_Numeric_RevUpDown               $804252dd     /* V11 isg BOOL              */
  1928. #define MUIA_Numeric_Value                   $8042ae3a     /* V11 isg LONG              */
  1929. /****************************************************************************/
  1930. /** Knob                                                                   **/
  1931. /****************************************************************************/
  1932. #define MUIC_Knob  'Knob.mui'
  1933. /****************************************************************************/
  1934. /** Levelmeter                                                             **/
  1935. /****************************************************************************/
  1936. #define MUIC_Levelmeter  'Levelmeter.mui'
  1937. /* Attributes */
  1938. #define MUIA_Levelmeter_Label                $80420dd5     /* V11 isg STRPTR            */
  1939. /****************************************************************************/
  1940. /** Numericbutton                                                          **/
  1941. /****************************************************************************/
  1942. #define MUIC_Numericbutton  'Numericbutton.mui'
  1943. /****************************************************************************/
  1944. /** Slider                                                                 **/
  1945. /****************************************************************************/
  1946. #define MUIC_Slider  'Slider.mui'
  1947. /* Attributes */
  1948. #define MUIA_Slider_Horiz                    $8042fad1     /* V11 isg BOOL              */
  1949. #ifdef MUI_OBSOLETE
  1950. #define MUIA_Slider_Level                    $8042ae3a     /* V4  isg LONG              */
  1951. #endif
  1952. /* MUI_OBSOLETE */
  1953. #ifdef MUI_OBSOLETE
  1954. #define MUIA_Slider_Max                      $8042d78a     /* V4  isg LONG              */
  1955. #endif
  1956. /* MUI_OBSOLETE */
  1957. #ifdef MUI_OBSOLETE
  1958. #define MUIA_Slider_Min                      $8042e404     /* V4  isg LONG              */
  1959. #endif
  1960. /* MUI_OBSOLETE */
  1961. #define MUIA_Slider_Quiet                    $80420b26     /* V6  i.. BOOL              */
  1962. #ifdef MUI_OBSOLETE
  1963. #define MUIA_Slider_Reverse                  $8042f2a0     /* V4  isg BOOL              */
  1964. #endif
  1965. /* MUI_OBSOLETE */
  1966. /****************************************************************************/
  1967. /** Framedisplay                                                           **/
  1968. /****************************************************************************/
  1969. #define MUIC_Framedisplay  'Framedisplay.mui'
  1970. /* Attributes */
  1971. /****************************************************************************/
  1972. /** Popframe                                                               **/
  1973. /****************************************************************************/
  1974. #define MUIC_Popframe  'Popframe.mui'
  1975. /****************************************************************************/
  1976. /** Imagedisplay                                                           **/
  1977. /****************************************************************************/
  1978. #define MUIC_Imagedisplay  'Imagedisplay.mui'
  1979. /* Attributes */
  1980. /****************************************************************************/
  1981. /** Popimage                                                               **/
  1982. /****************************************************************************/
  1983. #define MUIC_Popimage  'Popimage.mui'
  1984. /****************************************************************************/
  1985. /** Pendisplay                                                             **/
  1986. /****************************************************************************/
  1987. #define MUIC_Pendisplay  'Pendisplay.mui'
  1988. /* Methods */
  1989. #define MUIM_Pendisplay_SetColormap          $80426c80     /* V13 */
  1990. #define MUIM_Pendisplay_SetMUIPen            $8042039d     /* V13 */
  1991. #define MUIM_Pendisplay_SetRGB               $8042c131     /* V13 */
  1992. OBJECT MUIP_Pendisplay_SetColormap
  1993.     MethodID:ULONG,
  1994.     colormap:LONG
  1995.  
  1996. OBJECT MUIP_Pendisplay_SetMUIPen
  1997.     MethodID:ULONG,
  1998.     muipen:LONG
  1999.  
  2000. OBJECT MUIP_Pendisplay_SetRGB
  2001.     MethodID:ULONG,
  2002.     red:ULONG,
  2003.     green:ULONG,
  2004.     blue:ULONG
  2005.  
  2006. /* Attributes */
  2007. #define MUIA_Pendisplay_Pen                  $8042a748     /* V13 ..g Object *          */
  2008. #define MUIA_Pendisplay_Reference            $8042dc24     /* V13 isg Object *          */
  2009. #define MUIA_Pendisplay_RGBcolor             $8042a1a9     /* V11 isg struct MUI_RGBcolor * */
  2010. #define MUIA_Pendisplay_Spec                 $8042a204     /* V11 isg struct MUI_PenSpec  * */
  2011. /****************************************************************************/
  2012. /** Poppen                                                                 **/
  2013. /****************************************************************************/
  2014. #define MUIC_Poppen  'Poppen.mui'
  2015. /****************************************************************************/
  2016. /** Group                                                                  **/
  2017. /****************************************************************************/
  2018. #define MUIC_Group  'Group.mui'
  2019. /* Methods */
  2020. #define MUIM_Group_ExitChange                $8042d1cc     /* V11 */
  2021. #define MUIM_Group_InitChange                $80420887     /* V11 */
  2022. #define MUIM_Group_Sort                      $80427417     /* V4  */
  2023. OBJECT MUIP_Group_ExitChange
  2024.     MethodID:ULONG
  2025.  
  2026. OBJECT MUIP_Group_InitChange
  2027.     MethodID:ULONG
  2028.  
  2029. OBJECT MUIP_Group_Sort
  2030.     MethodID:ULONG,
  2031.     obj[1]:PTR TO _Object
  2032.  
  2033. /* Attributes */
  2034. #define MUIA_Group_ActivePage                $80424199     /* V5  isg LONG              */
  2035. #define MUIA_Group_Child                     $804226e6     /* V4  i.. Object *          */
  2036. #define MUIA_Group_ChildList                 $80424748     /* V4  ..g struct List *     */
  2037. #define MUIA_Group_Columns                   $8042f416     /* V4  is. LONG              */
  2038. #define MUIA_Group_Horiz                     $8042536b     /* V4  i.. BOOL              */
  2039. #define MUIA_Group_HorizSpacing              $8042c651     /* V4  isg LONG              */
  2040. #define MUIA_Group_LayoutHook                $8042c3b2     /* V11 i.. struct Hook *     */
  2041. #define MUIA_Group_PageMode                  $80421a5f     /* V5  i.. BOOL              */
  2042. #define MUIA_Group_Rows                      $8042b68f     /* V4  is. LONG              */
  2043. #define MUIA_Group_SameHeight                $8042037e     /* V4  i.. BOOL              */
  2044. #define MUIA_Group_SameSize                  $80420860     /* V4  i.. BOOL              */
  2045. #define MUIA_Group_SameWidth                 $8042b3ec     /* V4  i.. BOOL              */
  2046. #define MUIA_Group_Spacing                   $8042866d     /* V4  is. LONG              */
  2047. #define MUIA_Group_VertSpacing               $8042e1bf     /* V4  isg LONG              */
  2048. CONST    MUIV_Group_ActivePage_First=0,
  2049.         MUIV_Group_ActivePage_Last=-1,
  2050.         MUIV_Group_ActivePage_Prev=-2,
  2051.         MUIV_Group_ActivePage_Next=-3,
  2052.         MUIV_Group_ActivePage_Advance=-4
  2053. /** Mccprefs                                                               **/
  2054. /****************************************************************************/
  2055. #define MUIC_Mccprefs  'Mccprefs.mui'
  2056. /****************************************************************************/
  2057. /** Register                                                               **/
  2058. /****************************************************************************/
  2059. #define MUIC_Register  'Register.mui'
  2060. /* Attributes */
  2061. #define MUIA_Register_Frame                  $8042349b     /* V7  i.g BOOL              */
  2062. #define MUIA_Register_Titles                 $804297ec     /* V7  i.g STRPTR *          */
  2063. /****************************************************************************/
  2064. /** Penadjust                                                              **/
  2065. /****************************************************************************/
  2066. #define MUIC_Penadjust  'Penadjust.mui'
  2067. /* Methods */
  2068. /* Attributes */
  2069. #define MUIA_Penadjust_PSIMode               $80421cbb     /* V11 i.. BOOL              */
  2070. /****************************************************************************/
  2071. /** Settingsgroup                                                          **/
  2072. /****************************************************************************/
  2073. #define MUIC_Settingsgroup  'Settingsgroup.mui'
  2074. /* Methods */
  2075. #define MUIM_Settingsgroup_ConfigToGadgets   $80427043     /* V11 */
  2076. #define MUIM_Settingsgroup_GadgetsToConfig   $80425242     /* V11 */
  2077. OBJECT MUIP_Settingsgroup_ConfigToGadgets
  2078.     MethodID:ULONG,
  2079.     configdata:PTR TO _Object
  2080.  
  2081. OBJECT MUIP_Settingsgroup_GadgetsToConfig
  2082.     MethodID:ULONG,
  2083.     configdata:PTR TO _Object
  2084.  
  2085. /* Attributes */
  2086. /****************************************************************************/
  2087. /** Settings                                                               **/
  2088. /****************************************************************************/
  2089. #define MUIC_Settings  'Settings.mui'
  2090. /* Methods */
  2091. /* Attributes */
  2092. /****************************************************************************/
  2093. /** Frameadjust                                                            **/
  2094. /****************************************************************************/
  2095. #define MUIC_Frameadjust  'Frameadjust.mui'
  2096. /* Methods */
  2097. /* Attributes */
  2098. /****************************************************************************/
  2099. /** Imageadjust                                                            **/
  2100. /****************************************************************************/
  2101. #define MUIC_Imageadjust  'Imageadjust.mui'
  2102. /* Methods */
  2103. /* Attributes */
  2104. CONST    MUIV_Imageadjust_Type_All=0,
  2105.         MUIV_Imageadjust_Type_Image=1,
  2106.         MUIV_Imageadjust_Type_Background=2,
  2107.         MUIV_Imageadjust_Type_Pen=3
  2108. /** Virtgroup                                                              **/
  2109. /****************************************************************************/
  2110. #define MUIC_Virtgroup  'Virtgroup.mui'
  2111. /* Methods */
  2112. /* Attributes */
  2113. #define MUIA_Virtgroup_Height                $80423038     /* V6  ..g LONG              */
  2114. #define MUIA_Virtgroup_Input                 $80427f7e     /* V11 i.. BOOL              */
  2115. #define MUIA_Virtgroup_Left                  $80429371     /* V6  isg LONG              */
  2116. #define MUIA_Virtgroup_Top                   $80425200     /* V6  isg LONG              */
  2117. #define MUIA_Virtgroup_Width                 $80427c49     /* V6  ..g LONG              */
  2118. /****************************************************************************/
  2119. /** Scrollgroup                                                            **/
  2120. /****************************************************************************/
  2121. #define MUIC_Scrollgroup  'Scrollgroup.mui'
  2122. /* Methods */
  2123. /* Attributes */
  2124. #define MUIA_Scrollgroup_Contents            $80421261     /* V4  i.g Object *          */
  2125. #define MUIA_Scrollgroup_FreeHoriz           $804292f3     /* V9  i.. BOOL              */
  2126. #define MUIA_Scrollgroup_FreeVert            $804224f2     /* V9  i.. BOOL              */
  2127. #define MUIA_Scrollgroup_HorizBar            $8042b63d     /* V16 ..g Object *          */
  2128. #define MUIA_Scrollgroup_UseWinBorder        $804284c1     /* V13 i.. BOOL              */
  2129. #define MUIA_Scrollgroup_VertBar             $8042cdc0     /* V16 ..g Object *          */
  2130. /****************************************************************************/
  2131. /** Scrollbar                                                              **/
  2132. /****************************************************************************/
  2133. #define MUIC_Scrollbar  'Scrollbar.mui'
  2134. /* Attributes */
  2135. #define MUIA_Scrollbar_Type                  $8042fb6b     /* V11 i.. LONG              */
  2136. CONST    MUIV_Scrollbar_Type_Default=0,
  2137.         MUIV_Scrollbar_Type_Bottom=1,
  2138.         MUIV_Scrollbar_Type_Top=2,
  2139.         MUIV_Scrollbar_Type_Sym=3
  2140. /** Listview                                                               **/
  2141. /****************************************************************************/
  2142. #define MUIC_Listview  'Listview.mui'
  2143. /* Attributes */
  2144. #define MUIA_Listview_ClickColumn            $8042d1b3     /* V7  ..g LONG              */
  2145. #define MUIA_Listview_DefClickColumn         $8042b296     /* V7  isg LONG              */
  2146. #define MUIA_Listview_DoubleClick            $80424635     /* V4  i.g BOOL              */
  2147. #define MUIA_Listview_DragType               $80425cd3     /* V11 isg LONG              */
  2148. #define MUIA_Listview_Input                  $8042682d     /* V4  i.. BOOL              */
  2149. #define MUIA_Listview_List                   $8042bcce     /* V4  i.g Object *          */
  2150. #define MUIA_Listview_MultiSelect            $80427e08     /* V7  i.. LONG              */
  2151. #define MUIA_Listview_ScrollerPos            $8042b1b4     /* V10 i.. BOOL              */
  2152. #define MUIA_Listview_SelectChange           $8042178f     /* V4  ..g BOOL              */
  2153. CONST    MUIV_Listview_DragType_None=0,
  2154.         MUIV_Listview_DragType_Immediate=1,
  2155.         MUIV_Listview_MultiSelect_None=0,
  2156.         MUIV_Listview_MultiSelect_Default=1,
  2157.         MUIV_Listview_MultiSelect_Shifted=2,
  2158.         MUIV_Listview_MultiSelect_Always=3,
  2159.         MUIV_Listview_ScrollerPos_Default=0,
  2160.         MUIV_Listview_ScrollerPos_Left=1,
  2161.         MUIV_Listview_ScrollerPos_Right=2,
  2162.         MUIV_Listview_ScrollerPos_None=3
  2163. /** Radio                                                                  **/
  2164. /****************************************************************************/
  2165. #define MUIC_Radio  'Radio.mui'
  2166. /* Attributes */
  2167. #define MUIA_Radio_Active                    $80429b41     /* V4  isg LONG              */
  2168. #define MUIA_Radio_Entries                   $8042b6a1     /* V4  i.. STRPTR *          */
  2169. /****************************************************************************/
  2170. /** Cycle                                                                  **/
  2171. /****************************************************************************/
  2172. #define MUIC_Cycle  'Cycle.mui'
  2173. /* Attributes */
  2174. #define MUIA_Cycle_Active                    $80421788     /* V4  isg LONG              */
  2175. #define MUIA_Cycle_Entries                   $80420629     /* V4  i.. STRPTR *          */
  2176. CONST    MUIV_Cycle_Active_Next=-1,
  2177.         MUIV_Cycle_Active_Prev=-2
  2178. /** Coloradjust                                                            **/
  2179. /****************************************************************************/
  2180. #define MUIC_Coloradjust  'Coloradjust.mui'
  2181. /* Methods */
  2182. /* Attributes */
  2183. #define MUIA_Coloradjust_Blue                $8042b8a3     /* V4  isg ULONG             */
  2184. #define MUIA_Coloradjust_Green               $804285ab     /* V4  isg ULONG             */
  2185. #define MUIA_Coloradjust_ModeID              $8042ec59     /* V4  isg ULONG             */
  2186. #define MUIA_Coloradjust_Red                 $80420eaa     /* V4  isg ULONG             */
  2187. #define MUIA_Coloradjust_RGB                 $8042f899     /* V4  isg ULONG *           */
  2188. /****************************************************************************/
  2189. /** Palette                                                                **/
  2190. /****************************************************************************/
  2191. #define MUIC_Palette  'Palette.mui'
  2192. /* Attributes */
  2193. #define MUIA_Palette_Entries                 $8042a3d8     /* V6  i.g struct MUI_Palette_Entry * */
  2194. #define MUIA_Palette_Groupable               $80423e67     /* V6  isg BOOL              */
  2195. #define MUIA_Palette_Names                   $8042c3a2     /* V6  isg char **           */
  2196. /****************************************************************************/
  2197. /** Popstring                                                              **/
  2198. /****************************************************************************/
  2199. #define MUIC_Popstring  'Popstring.mui'
  2200. /* Methods */
  2201. #define MUIM_Popstring_Close                 $8042dc52     /* V7  */
  2202. #define MUIM_Popstring_Open                  $804258ba     /* V7  */
  2203. OBJECT MUIP_Popstring_Close
  2204.     MethodID:ULONG,
  2205.     result:LONG
  2206.  
  2207. OBJECT MUIP_Popstring_Open
  2208.     MethodID:ULONG
  2209.  
  2210. /* Attributes */
  2211. #define MUIA_Popstring_Button                $8042d0b9     /* V7  i.g Object *          */
  2212. #define MUIA_Popstring_CloseHook             $804256bf     /* V7  isg struct Hook *     */
  2213. #define MUIA_Popstring_OpenHook              $80429d00     /* V7  isg struct Hook *     */
  2214. #define MUIA_Popstring_String                $804239ea     /* V7  i.g Object *          */
  2215. #define MUIA_Popstring_Toggle                $80422b7a     /* V7  isg BOOL              */
  2216. /****************************************************************************/
  2217. /** Popobject                                                              **/
  2218. /****************************************************************************/
  2219. #define MUIC_Popobject  'Popobject.mui'
  2220. /* Attributes */
  2221. #define MUIA_Popobject_Follow                $80424cb5     /* V7  isg BOOL              */
  2222. #define MUIA_Popobject_Light                 $8042a5a3     /* V7  isg BOOL              */
  2223. #define MUIA_Popobject_Object                $804293e3     /* V7  i.g Object *          */
  2224. #define MUIA_Popobject_ObjStrHook            $8042db44     /* V7  isg struct Hook *     */
  2225. #define MUIA_Popobject_StrObjHook            $8042fbe1     /* V7  isg struct Hook *     */
  2226. #define MUIA_Popobject_Volatile              $804252ec     /* V7  isg BOOL              */
  2227. #define MUIA_Popobject_WindowHook            $8042f194     /* V9  isg struct Hook *     */
  2228. /****************************************************************************/
  2229. /** Poplist                                                                **/
  2230. /****************************************************************************/
  2231. #define MUIC_Poplist  'Poplist.mui'
  2232. /* Attributes */
  2233. #define MUIA_Poplist_Array                   $8042084c     /* V8  i.. char **           */
  2234. /****************************************************************************/
  2235. /** Popscreen                                                              **/
  2236. /****************************************************************************/
  2237. #define MUIC_Popscreen  'Popscreen.mui'
  2238. /* Attributes */
  2239. /****************************************************************************/
  2240. /** Popasl                                                                 **/
  2241. /****************************************************************************/
  2242. #define MUIC_Popasl  'Popasl.mui'
  2243. /* Attributes */
  2244. #define MUIA_Popasl_Active                   $80421b37     /* V7  ..g BOOL              */
  2245. #define MUIA_Popasl_StartHook                $8042b703     /* V7  isg struct Hook *     */
  2246. #define MUIA_Popasl_StopHook                 $8042d8d2     /* V7  isg struct Hook *     */
  2247. #define MUIA_Popasl_Type                     $8042df3d     /* V7  i.g ULONG             */
  2248. /****************************************************************************/
  2249. /** Semaphore                                                              **/
  2250. /****************************************************************************/
  2251. #define MUIC_Semaphore  'Semaphore.mui'
  2252. /* Methods */
  2253. #define MUIM_Semaphore_Attempt               $80426ce2     /* V11 */
  2254. #define MUIM_Semaphore_AttemptShared         $80422551     /* V11 */
  2255. #define MUIM_Semaphore_Obtain                $804276f0     /* V11 */
  2256. #define MUIM_Semaphore_ObtainShared          $8042ea02     /* V11 */
  2257. #define MUIM_Semaphore_Release               $80421f2d     /* V11 */
  2258. OBJECT MUIP_Semaphore_Attempt
  2259.     MethodID:ULONG
  2260.  
  2261. OBJECT MUIP_Semaphore_AttemptShared
  2262.     MethodID:ULONG
  2263.  
  2264. OBJECT MUIP_Semaphore_Obtain
  2265.     MethodID:ULONG
  2266.  
  2267. OBJECT MUIP_Semaphore_ObtainShared
  2268.     MethodID:ULONG
  2269.  
  2270. OBJECT MUIP_Semaphore_Release
  2271.     MethodID:ULONG
  2272.  
  2273. /****************************************************************************/
  2274. /** Applist                                                                **/
  2275. /****************************************************************************/
  2276. #define MUIC_Applist  'Applist.mui'
  2277. /* Methods */
  2278. /****************************************************************************/
  2279. /** Cclist                                                                 **/
  2280. /****************************************************************************/
  2281. #define MUIC_Cclist  'Cclist.mui'
  2282. /* Methods */
  2283. /****************************************************************************/
  2284. /** Dataspace                                                              **/
  2285. /****************************************************************************/
  2286. #define MUIC_Dataspace  'Dataspace.mui'
  2287. /* Methods */
  2288. #define MUIM_Dataspace_Add                   $80423366     /* V11 */
  2289. #define MUIM_Dataspace_Clear                 $8042b6c9     /* V11 */
  2290. #define MUIM_Dataspace_Find                  $8042832c     /* V11 */
  2291. #define MUIM_Dataspace_Merge                 $80423e2b     /* V11 */
  2292. #define MUIM_Dataspace_ReadIFF               $80420dfb     /* V11 */
  2293. #define MUIM_Dataspace_Remove                $8042dce1     /* V11 */
  2294. #define MUIM_Dataspace_WriteIFF              $80425e8e     /* V11 */
  2295. OBJECT MUIP_Dataspace_Add
  2296.     MethodID:ULONG,
  2297.     data:PTR,
  2298.     len:LONG,
  2299.     id:ULONG
  2300.  
  2301. OBJECT MUIP_Dataspace_Clear
  2302.     MethodID:ULONG
  2303.  
  2304. OBJECT MUIP_Dataspace_Find
  2305.     MethodID:ULONG,
  2306.     id:ULONG
  2307.  
  2308. OBJECT MUIP_Dataspace_Merge
  2309.     MethodID:ULONG,
  2310.     dataspace:PTR TO _Object
  2311.  
  2312. OBJECT MUIP_Dataspace_ReadIFF
  2313.     MethodID:ULONG,
  2314.     handle:PTR TO IFFHandle
  2315.  
  2316. OBJECT MUIP_Dataspace_Remove
  2317.     MethodID:ULONG,
  2318.     id:ULONG
  2319.  
  2320. OBJECT MUIP_Dataspace_WriteIFF
  2321.     MethodID:ULONG,
  2322.     handle:PTR TO IFFHandle,
  2323.     type:ULONG,
  2324.     id:ULONG
  2325.  
  2326. /* Attributes */
  2327. #define MUIA_Dataspace_Pool                  $80424cf9     /* V11 i.. APTR              */
  2328. /****************************************************************************/
  2329. /** Configdata                                                             **/
  2330. /****************************************************************************/
  2331. #define MUIC_Configdata  'Configdata.mui'
  2332. /* Methods */
  2333. /* Attributes */
  2334. /****************************************************************************/
  2335. /** Dtpic                                                                  **/
  2336. /****************************************************************************/
  2337. #define MUIC_Dtpic  'Dtpic.mui'
  2338. /* Attributes */
  2339. /*****************************************/
  2340. /* End of automatic header file creation */
  2341. /*****************************************/
  2342. /*************************************************************************
  2343. ** Structures and Macros for creating custom classes.
  2344. *************************************************************************/
  2345. /*
  2346. ** GENERAL NOTES:
  2347. **
  2348. ** - Everything described in this header file is only valid within
  2349. **   MUI classes. You may never use any of these things out of
  2350. **   a class, e.g. in a traditional MUI application.
  2351. **
  2352. ** - Except when otherwise stated, all structures are strictly read only.
  2353. */
  2354. /* Global information for every object */
  2355. OBJECT MUI_GlobalInfo
  2356.     priv0:ULONG,
  2357.     ApplicationObj:PTR TO _Object     /* ... private data follows ... */
  2358.  
  2359. /* Instance data of notify class */
  2360. OBJECT MUI_NotifyData
  2361.     GlobalInfo:PTR TO MUI_GlobalInfo,
  2362.     UserData:ULONG,
  2363.     ObjectID:ULONG,
  2364.     priv1:ULONG,
  2365.     priv2:ULONG,
  2366.     priv3:ULONG,
  2367.     priv4:ULONG
  2368.  
  2369. /* MUI_MinMax structure holds information about minimum, maximum
  2370.    and default dimensions of an object. */
  2371. OBJECT MUI_MinMax
  2372.     MinWidth:WORD,
  2373.     MinHeight:WORD,
  2374.     MaxWidth:WORD,
  2375.     MaxHeight:WORD,
  2376.     DefWidth:WORD,
  2377.     DefHeight:WORD
  2378.  
  2379. CONST    MUI_MAXMAX=10000            /* Hook message for custom layout */
  2380. OBJECT MUI_LayoutMsg
  2381.     Type:ULONG,                        /* type of message (see defines below)                      */
  2382.     Children:PTR TO MinList,    /* list of this groups children, traverse with NextObject() */
  2383.     MinMax:MUI_MinMax,            /* results for MUILM_MINMAX                                 */
  2384.     [
  2385.         Width:LONG,
  2386.         Height:LONG,
  2387.         priv5:ULONG,
  2388.         priv6:ULONG
  2389.     ]:Layout                            /* size (and result) for MUILM_LAYOUT                       */
  2390.  
  2391. #define MUILM_MINMAX     1     /* MUI wants you to calc your min & max sizes */
  2392. #define MUILM_LAYOUT     2     /* MUI wants you to layout your children      */
  2393. #define MUILM_UNKNOWN   -1     /* return this if your hook doesn't implement lm_Type */
  2394. /* (partial) instance data of area class */
  2395. OBJECT MUI_AreaData
  2396.     RenderInfo:PTR TO MUI_RenderInfo,    /* RenderInfo for this object */
  2397.     priv7:ULONG,
  2398.     Font:PTR TO TextFont,                /* Font */
  2399.     MinMax:MUI_MinMax,                   /* min/max/default sizes */
  2400.     Box:IBox,                            /* position and dimension */
  2401.     addleft:BYTE,                        /* frame & innerspacing left offset */
  2402.     addtop:BYTE,                         /* frame & innerspacing top offset  */
  2403.     subwidth:BYTE,                       /* frame & innerspacing add. width  */
  2404.     subheight:BYTE,                      /* frame & innerspacing add. height */
  2405.     Flags:ULONG                          /* see definitions below */
  2406.  
  2407. /* Definitions for Flags, other flags are private */
  2408. #define MADF_DRAWOBJECT         (1<< 0)    /* completely redraw yourself */
  2409. #define MADF_DRAWUPDATE         (1<< 1)    /* only update yourself */
  2410. /* MUI's draw pens */
  2411. CONST    MPEN_SHINE=0,
  2412.         MPEN_HALFSHINE=1,
  2413.         MPEN_BACKGROUND=2,
  2414.         MPEN_HALFSHADOW=3,
  2415.         MPEN_SHADOW=4,
  2416.         MPEN_TEXT=5,
  2417.         MPEN_FILL=6,
  2418.         MPEN_MARK=7,
  2419.         MPEN_COUNT=8
  2420. CONST    MUIPEN_MASK=65535
  2421. #define MUIPEN(pen ) ((pen) & MUIPEN_MASK)
  2422. /* Information on display environment */
  2423. OBJECT MUI_RenderInfo
  2424.     WindowObj:PTR TO _Object,    /* valid between MUIM_Setup/MUIM_Cleanup */
  2425.     Screen:PTR TO Screen,          /* valid between MUIM_Setup/MUIM_Cleanup */
  2426.     DrawInfo:PTR TO DrawInfo,      /* valid between MUIM_Setup/MUIM_Cleanup */
  2427.     Pens:PTR TO UWORD,             /* valid between MUIM_Setup/MUIM_Cleanup */
  2428.     Window:PTR TO Window,          /* valid between MUIM_Show/MUIM_Hide */
  2429.     RastPort:PTR TO RastPort,      /* valid between MUIM_Show/MUIM_Hide */
  2430.     Flags:ULONG                    /* valid between MUIM_Setup/MUIM_Cleanup */
  2431.  
  2432. /*
  2433. ** If Flags & MUIMRI_RECTFILL, RectFill() is quicker
  2434. ** than Move()/Draw() for horizontal or vertical lines.
  2435. ** on the current display.
  2436. */
  2437. #define MUIMRI_RECTFILL  (1<<0)
  2438. /*
  2439. ** If Flags & MUIMRI_TRUECOLOR, display environment is a
  2440. ** cybergraphics emulated hicolor or true color display.
  2441. */
  2442. #define MUIMRI_TRUECOLOR  (1<<1)
  2443. /*
  2444. ** If Flags & MUIMRI_THINFRAMES, MUI uses thin frames
  2445. ** (1:1) apsect ratio instead of standard 2:1 frames.
  2446. */
  2447. #define MUIMRI_THINFRAMES  (1<<2)
  2448. /*
  2449. ** If Flags & MUIMRI_REFRESHMODE, MUI is currently
  2450. ** refreshing a WFLG_SIMPLEREFRESH window and is between
  2451. ** a BeginRefresh()/EndRefresh() pair.
  2452. */
  2453. #define MUIMRI_REFRESHMODE  (1<<3)
  2454. /* the following macros can be used to get pointers to an objects
  2455.    GlobalInfo and RenderInfo structures. */
  2456. OBJECT __dummyXFC2__
  2457.     mnd:MUI_NotifyData,
  2458.     mad:MUI_AreaData
  2459.  
  2460. #define muiNotifyData(obj ) obj::__dummyXFC2__.mnd
  2461. #define muiAreaData(obj )   obj::__dummyXFC2__.mad
  2462. #define muiGlobalInfo(obj ) obj::__dummyXFC2__.mnd.GlobalInfo
  2463. #define muiUserData(obj )   obj::__dummyXFC2__.mnd.UserData
  2464. #define muiRenderInfo(obj ) obj::__dummyXFC2__.mad.RenderInfo
  2465.  
  2466. /* User configurable keyboard events coming with MUIM_HandleInput */
  2467. ENUM    MUIKEY_RELEASE=-2,
  2468.         MUIKEY_NONE,
  2469.         MUIKEY_PRESS,
  2470.         MUIKEY_TOGGLE,
  2471.         MUIKEY_UP,
  2472.         MUIKEY_DOWN,
  2473.         MUIKEY_PAGEUP,
  2474.         MUIKEY_PAGEDOWN,
  2475.         MUIKEY_TOP,
  2476.         MUIKEY_BOTTOM,
  2477.         MUIKEY_LEFT,
  2478.         MUIKEY_RIGHT,
  2479.         MUIKEY_WORDLEFT,
  2480.         MUIKEY_WORDRIGHT,
  2481.         MUIKEY_LINESTART,
  2482.         MUIKEY_LINEEND,
  2483.         MUIKEY_GADGET_NEXT,
  2484.         MUIKEY_GADGET_PREV,
  2485.         MUIKEY_GADGET_OFF,
  2486.         MUIKEY_WINDOW_CLOSE,
  2487.         MUIKEY_WINDOW_NEXT,
  2488.         MUIKEY_WINDOW_PREV,
  2489.         MUIKEY_HELP,
  2490.         MUIKEY_POPUP,
  2491.         MUIKEY_COUNT
  2492.  
  2493. #define MUIKEYF_PRESS         (1<<MUIKEY_PRESS)
  2494. #define MUIKEYF_TOGGLE        (1<<MUIKEY_TOGGLE)
  2495. #define MUIKEYF_UP            (1<<MUIKEY_UP)
  2496. #define MUIKEYF_DOWN          (1<<MUIKEY_DOWN)
  2497. #define MUIKEYF_PAGEUP        (1<<MUIKEY_PAGEUP)
  2498. #define MUIKEYF_PAGEDOWN      (1<<MUIKEY_PAGEDOWN)
  2499. #define MUIKEYF_TOP           (1<<MUIKEY_TOP)
  2500. #define MUIKEYF_BOTTOM        (1<<MUIKEY_BOTTOM)
  2501. #define MUIKEYF_LEFT          (1<<MUIKEY_LEFT)
  2502. #define MUIKEYF_RIGHT         (1<<MUIKEY_RIGHT)
  2503. #define MUIKEYF_WORDLEFT      (1<<MUIKEY_WORDLEFT)
  2504. #define MUIKEYF_WORDRIGHT     (1<<MUIKEY_WORDRIGHT)
  2505. #define MUIKEYF_LINESTART     (1<<MUIKEY_LINESTART)
  2506. #define MUIKEYF_LINEEND       (1<<MUIKEY_LINEEND)
  2507. #define MUIKEYF_GADGET_NEXT   (1<<MUIKEY_GADGET_NEXT)
  2508. #define MUIKEYF_GADGET_PREV   (1<<MUIKEY_GADGET_PREV)
  2509. #define MUIKEYF_GADGET_OFF    (1<<MUIKEY_GADGET_OFF)
  2510. #define MUIKEYF_WINDOW_CLOSE  (1<<MUIKEY_WINDOW_CLOSE)
  2511. #define MUIKEYF_WINDOW_NEXT   (1<<MUIKEY_WINDOW_NEXT)
  2512. #define MUIKEYF_WINDOW_PREV   (1<<MUIKEY_WINDOW_PREV)
  2513. #define MUIKEYF_HELP          (1<<MUIKEY_HELP)
  2514. #define MUIKEYF_POPUP         (1<<MUIKEY_POPUP)
  2515. /* Some useful shortcuts. define MUI_NOSHORTCUTS to get rid of them */
  2516. /* NOTE: These macros may only be used in custom classes and are    */
  2517. /* only valid if your class is inbetween the specified methods!     */
  2518. #ifndef MUI_NOSHORTCUTS
  2519. #define _app(obj )         (muiGlobalInfo(obj).ApplicationObj)     /* valid between MUIM_Setup/Cleanup */
  2520. #define _win(obj )         (muiRenderInfo(obj).WindowObj)          /* valid between MUIM_Setup/Cleanup */
  2521. #define _dri(obj )         (muiRenderInfo(obj).DrawInfo)              /* valid between MUIM_Setup/Cleanup */
  2522. #define _screen(obj )      (muiRenderInfo(obj).Screen)                /* valid between MUIM_Setup/Cleanup */
  2523. #define _pens(obj )        (muiRenderInfo(obj).Pens)                  /* valid between MUIM_Setup/Cleanup */
  2524. #define _window(obj )      (muiRenderInfo(obj).Window)                /* valid between MUIM_Show/Hide */
  2525. #define _rp(obj )          (muiRenderInfo(obj).RastPort)              /* valid between MUIM_Show/Hide */
  2526. #define _left(obj )        (muiAreaData(obj).Box.Left)                /* valid during MUIM_Draw */
  2527. #define _top(obj )         (muiAreaData(obj).Box.Top)                 /* valid during MUIM_Draw */
  2528. #define _width(obj )       (muiAreaData(obj).Box.Width)               /* valid during MUIM_Draw */
  2529. #define _height(obj )      (muiAreaData(obj).Box.Height)              /* valid during MUIM_Draw */
  2530. #define _right(obj )       (_left(obj)+_width(obj)-1)                     /* valid during MUIM_Draw */
  2531. #define _bottom(obj )      (_top(obj)+_height(obj)-1)                     /* valid during MUIM_Draw */
  2532. #define _addleft(obj )     (muiAreaData(obj).addleft  )               /* valid during MUIM_Draw */
  2533. #define _addtop(obj )      (muiAreaData(obj).addtop   )               /* valid during MUIM_Draw */
  2534. #define _subwidth(obj )    (muiAreaData(obj).subwidth )               /* valid during MUIM_Draw */
  2535. #define _subheight(obj )   (muiAreaData(obj).subheight)               /* valid during MUIM_Draw */
  2536. #define _mleft(obj )       (_left(obj)+_addleft(obj))                     /* valid during MUIM_Draw */
  2537. #define _mtop(obj )        (_top(obj)+_addtop(obj))                       /* valid during MUIM_Draw */
  2538. #define _mwidth(obj )      (_width(obj)-_subwidth(obj))                   /* valid during MUIM_Draw */
  2539. #define _mheight(obj )     (_height(obj)-_subheight(obj))                 /* valid during MUIM_Draw */
  2540. #define _mright(obj )      (_mleft(obj)+_mwidth(obj)-1)                   /* valid during MUIM_Draw */
  2541. #define _mbottom(obj )     (_mtop(obj)+_mheight(obj)-1)                   /* valid during MUIM_Draw */
  2542. #define _font(obj )        (muiAreaData(obj).Font)                    /* valid between MUIM_Setup/Cleanup */
  2543. #define _minwidth(obj )    (muiAreaData(obj).MinMax.MinWidth)         /* valid between MUIM_Show/Hide */
  2544. #define _minheight(obj )   (muiAreaData(obj).MinMax.MinHeight)        /* valid between MUIM_Show/Hide */
  2545. #define _maxwidth(obj )    (muiAreaData(obj).MinMax.MaxWidth)         /* valid between MUIM_Show/Hide */
  2546. #define _maxheight(obj )   (muiAreaData(obj).MinMax.MaxHeight)        /* valid between MUIM_Show/Hide */
  2547. #define _defwidth(obj )    (muiAreaData(obj).MinMax.DefWidth)         /* valid between MUIM_Show/Hide */
  2548. #define _defheight(obj )   (muiAreaData(obj).MinMax.DefHeight)        /* valid between MUIM_Show/Hide */
  2549. #define _flags(obj )       (muiAreaData(obj).Flags)
  2550. #endif
  2551. /* MUI_CustomClass returned by MUI_CreateCustomClass() */
  2552. OBJECT MUI_CustomClass
  2553.     UserData:PTR,                    /* use for whatever you want */
  2554.     UtilityBase:PTR TO Library,      /* MUI has opened these libraries */
  2555.     DOSBase:PTR TO Library,          /* for you automatically. You can */
  2556.     GfxBase:PTR TO Library,          /* use them or decide to open     */
  2557.     IntuitionBase:PTR TO Library,    /* your libraries yourself.       */
  2558.     Super:PTR TO IClass,             /* pointer to super class   */
  2559.     Class:PTR TO IClass              /* pointer to the new class */
  2560.